<html lang="ru"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script data-ezscrex='false' data-cfasync='false' data-pagespeed-no-defer>var __ez=__ez||{};__ez.stms=Date.now();__ez.evt={};__ez.script={};__ez.ck=__ez.ck||{};__ez.template={};__ez.template.isOrig=false;__ez.queue=function(){var e=0,i=0,t=[],n=!1,o=[],r=[],s=!0,a=function(e,i,n,o,r,s,a){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,d=this;this.name=e,this.funcName=i,this.parameters=null===n?null:p(n)?n:[n],this.isBlock=o,this.blockedBy=r,this.deleteWhenComplete=s,this.isError=!1,this.isComplete=!1,this.isInitialized=!1,this.proceedIfError=a,this.fWindow=l,this.isTimeDelay=!1,this.process=function(){f("... func = "+e),d.isInitialized=!0,d.isComplete=!0,f("... func.apply: "+e);var i=d.funcName.split("."),n=null,o=this.fWindow||window;i.length>3||(n=3===i.length?o[i[0]][i[1]][i[2]]:2===i.length?o[i[0]][i[1]]:o[d.funcName]),null!=n&&n.apply(null,this.parameters),!0===d.deleteWhenComplete&&delete t[e],!0===d.isBlock&&(f("----- F'D: "+d.name),u())}},l=function(e,i,t,n,o,r,s){var a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,l=this;this.name=e,this.path=i,this.async=o,this.defer=r,this.isBlock=t,this.blockedBy=n,this.isInitialized=!1,this.isError=!1,this.isComplete=!1,this.proceedIfError=s,this.fWindow=a,this.isTimeDelay=!1,this.isPath=function(e){return"/"===e[0]&&"/"!==e[1]},this.getSrc=function(e){return void 0!==window.__ezScriptHost&&this.isPath(e)&&"banger.js"!==this.name?window.__ezScriptHost+e:e},this.process=function(){l.isInitialized=!0,f("... file = "+e);var i=this.fWindow?this.fWindow.document:document,t=i.createElement("script");t.src=this.getSrc(this.path),!0===o?t.async=!0:!0===r&&(t.defer=!0),t.onerror=function(){var e={url:window.location.href,name:l.name,path:l.path,user_agent:window.navigator.userAgent};"undefined"!=typeof _ezaq&&(e.pageview_id=_ezaq.page_view_id);var i=encodeURIComponent(JSON.stringify(e)),t=new XMLHttpRequest;t.open("GET","//g.ezoic.net/ezqlog?d="+i,!0),t.send(),f("----- ERR'D: "+l.name),l.isError=!0,!0===l.isBlock&&u()},t.onreadystatechange=t.onload=function(){var e=t.readyState;f("----- F'D: "+l.name),e&&!/loaded|complete/.test(e)||(l.isComplete=!0,!0===l.isBlock&&u())},i.getElementsByTagName("head")[0].appendChild(t)}},d=function(e,i){this.name=e,this.path="",this.async=!1,this.defer=!1,this.isBlock=!1,this.blockedBy=[],this.isInitialized=!0,this.isError=!1,this.isComplete=i,this.proceedIfError=!1,this.isTimeDelay=!1,this.process=function(){}};function c(e){!0!==h(e)&&0!=s&&e.process()}function h(e){if(!0===e.isTimeDelay&&!1===n)return f(e.name+" blocked = TIME DELAY!"),!0;if(p(e.blockedBy))for(var i=0;i<e.blockedBy.length;i++){var o=e.blockedBy[i];if(!1===t.hasOwnProperty(o))return f(e.name+" blocked = "+o),!0;if(!0===e.proceedIfError&&!0===t[o].isError)return!1;if(!1===t[o].isComplete)return f(e.name+" blocked = "+o),!0}return!1}function f(e){var i=window.location.href,t=new RegExp("[?&]ezq=([^&#]*)","i").exec(i);"1"===(t?t[1]:null)&&console.debug(e)}function u(){++e>200||(f("let's go"),m(o),m(r))}function m(e){for(var i in e)if(!1!==e.hasOwnProperty(i)){var t=e[i];!0===t.isComplete||h(t)||!0===t.isInitialized||!0===t.isError?!0===t.isError?f(t.name+": error"):!0===t.isComplete?f(t.name+": complete already"):!0===t.isInitialized&&f(t.name+": initialized already"):t.process()}}function p(e){return"[object Array]"==Object.prototype.toString.call(e)}return window.addEventListener("load",(function(){setTimeout((function(){n=!0,f("TDELAY -----"),u()}),5e3)}),!1),{addFile:function(e,i,n,s,a,d,h,f,u){var m=new l(e,i,n,s,a,d,h,u);!0===f?o[e]=m:r[e]=m,t[e]=m,c(m)},addDelayFile:function(e,i){var n=new l(e,i,!1,[],!1,!1,!0);n.isTimeDelay=!0,f(e+" ...  FILE! TDELAY"),r[e]=n,t[e]=n,c(n)},addFunc:function(e,n,s,l,d,h,f,u,m,p){!0===h&&(e=e+"_"+i++);var w=new a(e,n,s,l,d,f,u,p);!0===m?o[e]=w:r[e]=w,t[e]=w,c(w)},addDelayFunc:function(e,i,n){var o=new a(e,i,n,!1,[],!0,!0);o.isTimeDelay=!0,f(e+" ...  FUNCTION! TDELAY"),r[e]=o,t[e]=o,c(o)},items:t,processAll:u,setallowLoad:function(e){s=e},markLoaded:function(e){if(e&&0!==e.length){if(e in t){var i=t[e];!0===i.isComplete?f(i.name+" "+e+": error loaded duplicate"):(i.isComplete=!0,i.isInitialized=!0)}else t[e]=new d(e,!0);f("markLoaded dummyfile: "+t[e].name)}},logWhatsBlocked:function(){for(var e in t)!1!==t.hasOwnProperty(e)&&h(t[e])}}}();__ez.evt.add=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n()},__ez.evt.remove=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):delete e["on"+t]};__ez.script.add=function(e){var t=document.createElement("script");t.src=e,t.async=!0,t.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(t)};__ez.dot={};__ez.queue.addFile('/detroitchicago/boise.js', '/detroitchicago/boise.js?gcb=195-2&cb=2', true, [], true, false, true, false);__ez.queue.addFile('/parsonsmaize/abilene.js', '/parsonsmaize/abilene.js?gcb=195-2&cb=28', true, [], true, false, true, false);</script>
<script data-ezscrex="false" type="text/javascript" data-cfasync="false">window._ezaq = Object.assign({}, typeof window._ezaq !== "undefined" ? window._ezaq : {}, {"ad_cache_level":1,"domain_id":173770,"ezcache_level":2,"ezcache_skip_code":0,"has_bad_image":0,"has_bad_words":0,"is_sitespeed":0,"lt_cache_level":0,"page_view_id":"13c0d7ba-20cf-4bac-6fef-f8d8e696769c","response_size_orig":202886,"response_time_orig":6,"template_id":134,"url":"https://plantuml.com/ru-dark/class-diagram","word_count":5532,"worst_bad_word_level":0});__ez.queue.markLoaded('ezaqBaseReady');</script>
<script type="text/javascript">(function(){function storageAvailable(type){var storage;try{storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return true;}
catch(e){return e instanceof DOMException&&(e.code===22||e.code===1014||e.name==='QuotaExceededError'||e.name==='NS_ERROR_DOM_QUOTA_REACHED')&&(storage&&storage.length!==0);}}
function remove_ama_config(){if(storageAvailable('localStorage')){localStorage.removeItem("google_ama_config");}}
remove_ama_config()})()</script>
<script type="text/javascript">var ezoicTestActive = true</script>
<script data-ezscrex="false" type="text/javascript" data-cfasync="false">window._ezaq = Object.assign({}, typeof window._ezaq !== "undefined" ? window._ezaq : {}, {"ab_test_id":"mod174-c","ad_cache_level":1,"ad_count_adjustment":0,"ad_lazyload_version":0,"ad_load_version":1,"ad_location_ids":"","adx_ad_count":0,"ai_placeholder_cache_level":1,"ai_placeholder_placement_cnt":-1,"bidder_method":1,"bidder_version":3,"city":"Krasnoyarsk","country":"RU","days_since_last_visit":-1,"display_ad_count":0,"domain_id":173770,"domain_test_group":20230802,"ds_adsize_opt_id":-1,"engaged_time_visit":0,"ezcache_level":2,"ezcache_skip_code":0,"form_factor_id":1,"framework_id":1,"has_bad_image":0,"has_bad_words":0,"iab_category":"","iab_category_0":"596","is_embed":false,"is_from_recommended_pages":false,"is_return_visitor":false,"is_sitespeed":0,"last_page_load":"","last_pageview_id":"","lt_cache_level":0,"max_ads":0,"metro_code":0,"optimization_version":1,"page_ad_positions":"","page_view_count":927,"page_view_id":"13c0d7ba-20cf-4bac-6fef-f8d8e696769c","position_selection_id":0,"postal_code":"660000","pv_event_count":0,"response_size_orig":202886,"response_time_orig":6,"serverid":"i-0e8963f5092433cb4","state":"KYA","sub_page_ad_positions":"","t_epoch":1697691161,"template_id":134,"time_on_site_visit":0,"url":"https://plantuml.com/ru-dark/class-diagram","word_count":5532,"worst_bad_word_level":0});__ez.queue.markLoaded('ezaqReady');</script>
<script data-ezscrex='false' data-cfasync='false' data-pagespeed-no-defer>__ez.queue.addFile('/parsonsmaize/mulvane.js', '/parsonsmaize/mulvane.js?gcb=195-2&cb=5', true, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFile('/parsonsmaize/olathe.js', '/parsonsmaize/olathe.js?gcb=195-2&cb=20', false, ['/parsonsmaize/abilene.js','/parsonsmaize/mulvane.js'], true, false, true, false);__ez.queue.addFile('/porpoiseant/et.js', '/porpoiseant/et.js?gcb=195-2&cb=2', false, [], true, false, true, false);!function(){var e;__ez.vep=(e=[],{Add:function(i,t){__ez.dot.isDefined(i)&&__ez.dot.isValid(t)&&e.push({type:"video",video_impression_id:i,domain_id:__ez.dot.getDID(),t_epoch:__ez.dot.getEpoch(0),data:__ez.dot.dataToStr(t)})},Fire:function(){if(void 0===document.visibilityState||"prerender"!==document.visibilityState){if(__ez.dot.isDefined(e)&&e.length>0)for(;e.length>0;){var i=5;i>e.length&&(i=e.length);var t=e.splice(0,i),o=__ez.dot.getURL("/detroitchicago/grapefruit.gif")+"?orig="+(!0===__ez.template.isOrig?1:0)+"&v="+btoa(JSON.stringify(t));__ez.dot.Fire(o)}e=[]}}})}();</script><script data-ezscrex='false' data-cfasync='false' data-pagespeed-no-defer>!function(){function e(i){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(i)}__ez.pel=function(){var i=[];function t(t,o,d,_,n,r,a,s){if(__ez.dot.isDefined(t)&&0!=__ez.dot.isAnyDefined(t.getSlotElementId,t.ElementId)){void 0===s&&(s=!1);var p=parseInt(__ez.dot.getTargeting(t,"ap")),f=__ez.dot.getSlotIID(t),u=__ez.dot.getAdUnit(t,s),z=parseInt(__ez.dot.getTargeting(t,"compid")),g=0,c=0,l=function(i){if("undefined"==typeof _ezim_d)return!1;var t=__ez.dot.getAdUnitPath(i).split("/").pop();if("object"===("undefined"==typeof _ezim_d?"undefined":e(_ezim_d))&&_ezim_d.hasOwnProperty(t))return _ezim_d[t];for(var o in _ezim_d)if(o.split("/").pop()===t)return _ezim_d[o];return!1}(t);"object"==e(l)&&(void 0!==l.creative_id&&(c=l.creative_id),void 0!==l.line_item_id&&(g=l.line_item_id)),__ez.dot.isDefined(f,u)&&__ez.dot.isValid(o)&&("0"===f&&!0!==s||""===u||i.push({type:"impression",impression_id:f,domain_id:__ez.dot.getDID(),unit:u,t_epoch:__ez.dot.getEpoch(0),revenue:d,est_revenue:_,ad_position:p,ad_size:"",bid_floor_filled:n,bid_floor_prev:r,stat_source_id:a,country_code:__ez.dot.getCC(),pageview_id:__ez.dot.getPageviewId(),comp_id:z,line_item_id:g,creative_id:c,data:__ez.dot.dataToStr(o),is_orig:s||__ez.template.isOrig}))}}function o(){void 0!==document.visibilityState&&"prerender"===document.visibilityState||(__ez.dot.isDefined(i)&&i.length>0&&[i.filter((function(e){return e.is_orig})),i.filter((function(e){return!e.is_orig}))].forEach((function(e){for(;e.length>0;){var i=e[0].is_orig||!1,t=5;t>e.length&&(t=e.length);var o=e.splice(0,t),d=__ez.dot.getURL("/porpoiseant/army.gif")+"?orig="+(!0===i?1:0)+"&sts="+btoa(JSON.stringify(o));(void 0!==window.isAmp&&isAmp||void 0!==window.ezWp&&ezWp)&&void 0!==window._ezaq&&_ezaq.hasOwnProperty("domain_id")&&(d+="&visit_uuid="+_ezaq.visit_uuid),__ez.dot.Fire(d)}})),i=[])}return{Add:t,AddAndFire:function(e,i){t(e,i,0,0,0,0,0),o()},AddAndFireOrig:function(e,i){t(e,i,0,0,0,0,0,!0),o()},AddById:function(e,t,o,d){var _=e.split("/");if(__ez.dot.isDefined(e)&&3===_.length&&__ez.dot.isValid(t)){var n=_[0],r={type:"impression",impression_id:_[2],domain_id:__ez.dot.getDID(),unit:n,t_epoch:__ez.dot.getEpoch(0),pageview_id:__ez.dot.getPageviewId(),data:__ez.dot.dataToStr(t),is_orig:o||__ez.template.isOrig};void 0!==d&&(r.revenue=d),i.push(r)}},Fire:o,GetPixels:function(){return i}}}()}();__ez.queue.addFile('/detroitchicago/raleigh.js', '/detroitchicago/raleigh.js?gcb=195-2&cb=6', false, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFile('/detroitchicago/vista.js', '/detroitchicago/vista.js?gcb=195-2&cb=5', false, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFile('/detroitchicago/tampa.js', '/detroitchicago/tampa.js?gcb=195-2&cb=5', false, ['/parsonsmaize/abilene.js'], true, false, true, false);</script><base href=""/>
<meta name="flattr:id" content="1ew3x0"/>



<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "url": "https://plantuml.com",
  "name": "PlantUML",
  "sameAs" : ["https://twitter.com/plantuml","https://en.wikipedia.org/wiki/PlantUML","https://www.wikidata.org/wiki/Q18346546"],
  "logo": "https://cdn-0.plantuml.com/logo3.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "email": "plantuml@gmail.com",
    "url": "https://plantuml.com",
    "contactType": "customer service"
  }]
}
</script>
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [{
    "@type": "ListItem",
    "position": 1,
    "item": {
      "@id": "https://plantuml.com",
      "name": "Home"
    }
  },{
    "@type": "ListItem",
    "position": 2,
    "item": {
      "@id": "https://plantuml.com/sitemap-language-specification",
      "name": "Language specification"
    }
  },{
    "@type": "ListItem",
    "position": 3,
    "item": {
      "@id": "https://plantuml.com/class-diagram",
      "name": "Class Diagram"
  }
  }]
}
</script>
<link rel="canonical" href="../ru/class-diagram.html"/>
<link rel="alternate" hreflang="x-default" href="../class-diagram.html"/>
<link rel="alternate" hreflang="de" href="../de/class-diagram.html"/>
<link rel="alternate" hreflang="en" href="../class-diagram.html"/>
<link rel="alternate" hreflang="es" href="../es/class-diagram.html"/>
<link rel="alternate" hreflang="fr" href="../fr/class-diagram.html"/>
<link rel="alternate" hreflang="ja" href="../ja/class-diagram.html"/>
<link rel="alternate" hreflang="ru" href="../ru/class-diagram.html"/>
<link rel="alternate" hreflang="ko" href="../ko/class-diagram.html"/>
<link rel="alternate" hreflang="zh" href="../zh/class-diagram.html"/>

<link rel="shortcut icon" href="../favicon.ico"/>

<link rel="preload" as="image" href="../svgrepo-house.svg"/>
<link rel="preload" as="image" href="../svgrepo-text-news.svg"/>
<link rel="preload" as="image" href="../svgrepo-rocket-3-start.svg"/>
<link rel="preload" as="image" href="../svgrepo-server.svg"/>
<link rel="preload" as="image" href="../svgrepo-play.svg"/>
<link rel="preload" as="image" href="../svgrepo-forum.svg"/>
<link rel="preload" as="image" href="../svgrepo-add-to-online-cart.svg"/>
<link rel="preload" as="image" href="../svgrepo-forum-message.svg"/>
<link rel="preload" as="image" href="../svgrepo-palette-fill.svg"/>
<link rel="preload" as="image" href="../svgrepo-cpu.svg"/>
<link rel="preload" as="image" href="../svgrepo-books-library.svg"/>
<link rel="preload" as="image" href="../svgrepo-signpost-fill.svg"/>
<link rel="preload" as="image" href="../svgrepo-library.svg"/>

<link rel="preload" as="image" href="../flags21.png"/>

<link rel="preload" as="image" href="../svgrepo-uxwing-dark-mode-toggle.svg"/>


<!-- link rel="preload" as="image" href="https://img.shields.io/liberapay/patrons/plantuml.svg?logo=liberapay" -->


<title>Класс синтаксиса Схема и особенности</title>
<meta name="description" content="PlantUML синтаксиса диаграмм классов: Вы можете определить интерфейсы, члены, взаимосвязи, пакеты, дженерики, заметки и прочее. Также можно изменять их шрифты и цвета."/>

<meta property="og:type" content="article"/>
<meta property="og:title" content="Класс синтаксиса Схема и особенности"/>
<meta property="og:description" content="PlantUML синтаксиса диаграмм классов: Вы можете определить интерфейсы, члены, отношения, пакеты, дженерики, заметки ... Изменение шрифтов и цветов также возможно."/>

<meta property="og:url" content="https://plantuml.com/ru/class-diagram"/>
<meta property="og:site_name" content="PlantUML.com"/>

<!-- meta property="og:image" content="https://plantuml.com/og-class-diagram" -->
<meta name="twitter:image" content="https://plantuml.com/og-class-diagram"/>
<meta property="og:locale" content="ru"/>

<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Класс синтаксиса Схема и особенности"/>
<meta name="twitter:description" content="PlantUML синтаксиса диаграмм классов: Вы можете определить интерфейсы, члены, отношения, пакеты, дженерики, заметки ... Изменение шрифтов и цветов также возможно."/>
<meta name="twitter:site" content="@PlantUML"/>
<meta name="twitter:creator" content="@PlantUML"/>





<!-- https://www.w3schools.com/colors/colors_picker.asp -->
<!-- filter css https://codepen.io/sosuke/pen/Pjoqqp -->














<style>
.scale {
}

li {
	margin: 2px;
}
#external li {
	margin: 13px;
}

.pezoic {
  max-width:970px;
}

@media screen and (max-width: 1600px) {
	.pezoic {
	  max-width:768px;
	}
}

.coptable {
	max-width: 90%;
}

.mytab {
	display:inline-block;
	border-radius: 3px;
	border: 1px solid #e1e4e8;
}

.mytab:hover {
	border: 1px dashed #8CB4FF;
	cursor: pointer;
	color: #8CB4FF;
	background: #111111;
}

.cop {
	margin: 25px 10px 0 10px;
	filter: invert(100%);
}
.cop:hover {
	cursor: pointer; 
filter: invert(59%) sepia(81%) saturate(1778%) hue-rotate(164deg) brightness(105%) contrast(103%);
}
.cop2 {
	margin: 25px 10px 0 10px;
}
.cop2:hover {
	cursor: pointer; 
}
.msg {
	position: absolute;
	color:#339966;
	background-color: #FFF;
	margin-top: 55px;
	display:none;
	border-radius: 3px;
	border: 1px solid #4dff00;
}

.mycell0 {
	float: left;
	vertical-align : top;
	padding:10px;
}
.mycell0 code:hover {
	cursor: default; 
	color: #fff;
}

.mycell {
	float: right;
	vertical-align : top;
	padding:10px;
	max-width: 55vw;
	overflow-x: auto;
}

.mycell0 pre {
	max-width: 55vw;
	overflow-x: auto;
}

.cod {
	background: #222222;
	padding: 2px 5px;
	border-radius: 3px;
}
.colo {
	display: inline-block;
	background: #222222;
	padding: 7px 12px;
	border-radius: 3px;
}
.tag,.tagg,.tago,.tagr {
	text-rendering: optimizeLegibility;
	display: inline-block;
	padding: 3px 5px 2px 4px;
	text-decoration: none;
	white-space: nowrap;
	border: 1px solid #999;
	text-transform: uppercase;
	text-align: center;
	border-radius: 3px;
	font-size: 11px;
	font-weight: bold;
	line-height: 90%;
}
.tag {
	background-color: #EEEEEE;
}
.tagg {
	background-color: #98FB98;
}
.tago {
	background-color: #fafa00;
}
.tagr {
	background-color: #FF4500;
}


a {
    text-decoration:none;
    color:#8CB4FF;
}
a:hover {
    text-decoration:underline;
}

.menu1 {
    border: 0;
    font-family: Helvetica,sans-serif;
    font-size: 14px;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
	vertical-align: middle;
	line-height: 30px;
}
.menu1 a{
    /*background: #FF0;*/
    text-align:center;
	padding:10px 7px 10px 7px;
    text-decoration:none;
    color:#b0c0d0;
}
.menu1 a:hover{
    color:#8CB4FF;
}
#menu0 {
    top:0;
    z-index: 4;
    margin:0 0 0 10px;
    padding:0;
}

@media screen and (max-width: 1300px) {
	#menu0 {
	visibility: hidden;
	}	
}

.mhov img {
	margin: 0 5px 0 0;
	padding: 0;
}
.mhov:hover {
filter: invert(59%) sepia(81%) saturate(1778%) hue-rotate(164deg) brightness(105%) contrast(103%);
}

#menuside2 {
    border:0;
    font-family:Helvetica,sans-serif;
    font-size:14px;
    padding:20px 0 4px 0;
    margin:0
}
#menuside2 span {
    vertical-align: top;
}
#menuside2 li{
    list-style:none;
    position:relative;
    padding:0;
	margin:10px 20px 10px 10px;
    border:0;
}
#menuside2 li a{
	display: inline-block;
    text-decoration:none;
    color:#b0c0d0;
    width:100%;
}
#menuside2 img {
filter: invert(46%) sepia(13%) saturate(620%) hue-rotate(170deg) brightness(91%) contrast(85%);
}

#BC {
    z-index: 0;
    padding-top: 5px;
    top: 35px;
}

.breadcrumb {
z-index:1;
	font-family:Helvetica,sans-serif;
	font-size:14px;
	text-align: center;
	display: inline-block;
	overflow: hidden;
	border-radius: 5px;
}


.breadcrumb a {
	text-decoration: none;
	outline: none;
	display: block;
	float: left;
	font-size: 12px;
	line-height: 24px;
	color: #373f49;
	padding: 0 10px 0 35px;
	background: #f0f1f1;
	background: linear-gradient(#f0f1f1, #c6d2d2);
	position: relative;
}
.breadcrumb a:first-child {
	padding-left: 21px;
	border-radius: 5px 0 0 5px; /*to match with the parent's radius*/
}
.breadcrumb a:first-child:before {
	left: 14px;
}
.breadcrumb a:last-child {
	visibility: hidden;
}

.breadcrumb a.active, .breadcrumb a:hover{
	color: #0366d6;
	background: #c6d2d2;
	background: linear-gradient(#e3e4e4, #b8c7c7);
}
.breadcrumb a.active:after, .breadcrumb a:hover:after {
	background: #c6d2d2;
	background: linear-gradient(135deg, #e3e4e4, #b8c7c7);
}

.breadcrumb a:after {
	content: '';
	position: absolute;
	top: 0; 
	right: -12px; /*half of square's length*/
	/*same dimension as the line-height of .breadcrumb a */
	width: 24px; 
	height: 24px;
	transform: scale(0.707) rotate(45deg);
	/*we need to prevent the arrows from getting buried under the next link*/
	z-index: 1;
	/*background same as links but the gradient will be rotated to compensate with the transform applied*/
	background: #f0f1f1;
	background: linear-gradient(135deg, #f0f1f1, #c6d2d2);
	/*stylish arrow design using box shadow*/
	box-shadow: 
		2px -2px 0 2px rgba(0,0,0,0.1), 
		3px -3px 0 2px rgba(255,255,255,0.1);
	/*
		5px - for rounded arrows and 
		50px - to prevent hover glitches on the border created using shadows*/
	border-radius: 0 5px 0 50px;
}

/*we dont need an arrow after the last link*/
.breadcrumb a:last-child:after {
	content: none;
	visibility: hidden;
}


.lga,.lga a,.lgi,.lgi a {
	font-family:Helvetica,sans-serif;
	font-size:13px;
	text-align: center;
    color: #fff;
    padding: 0 5px;
    margin: 0;
}
.lga,.lga a {
    background-color: #008;
}
.lgi,.lgi a {
    background-color: #888;
}
.lga:hover,.lga:hover a {
    text-decoration: none;
    color: #BBB;
}
.lgi:hover,.lgi:hover a {
    text-decoration: none;
    color: #CCC;
}

</style>

<style>
.backtop {
	margin:0px 10px;
	filter: invert(100%);
}
.backtop:hover {
	cursor: pointer;
filter: invert(59%) sepia(81%) saturate(1778%) hue-rotate(164deg) brightness(105%) contrast(103%);
}
</style>




<style>
/* Dropdown Button */
.dropbtn {
  padding: 0px;
  border: none;
  background: none;
  filter: invert(100%);
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;
  margin: 0 10px;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.dropdown-content img {
vertical-align:middle;
margin: 0 8px 0 1px;
}

/* Links inside the dropdown */
.dropdown-content a {
  font-size: small;
  font-weight: normal;
  color: black;
  padding: 5px 10px;
  text-decoration: none;
  display: block;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
  background-color: #ddd;
  color: #8CB4FF;
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {display: block;}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {background-color: #3e8e41;}
</style>
<style>
#flex1 {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	width: 378px;
	height: 100%;
}

#lll {
	flex-grow: 1;
	flex-shrink: 1;
	max-width:162px;
	overflow:hidden;
}

#mmm {
	flex-grow: 0;
	flex-shrink: 0;
	background: #222222;
	width: 210px;
	min-width: 210px;
	max-width: 210px;
	flex-grow: 0;
	flex-shrink: 0;
    border-left: 1px solid #333333;
}

#qqq {
	flex-grow: 0;
	flex-shrink: 0;
	width: 4px;
	min-width: 4px;
	max-width: 4px;
	flex-grow: 0;
	flex-shrink: 0;
}

#rrr {
	flex-grow: 1;
	flex-shrink: 1;
	max-width:162px;
	overflow:hidden;
}

.cde {
	display: flex;
	flex-direction: column;
    justify-content:space-between;
    height: 100%;
}
.cd {
	display: flex;
	flex-direction: column;
    justify-content: space-start;
    height: 100%;
}

.aaa {
	height: 30px;
	min-height: 30px;
	max-height: 30px;
	flex-grow: 0;
	flex-shrink: 0;
	background: #222222;
    border-bottom: 1px solid #333333;
}

.bbb, .bbborder {
	flex-grow: 1;
	flex-shrink: 0;
}

.bbborder {
    border-left: 1px solid #333333;
}


#header {
    z-index: 10;
    position: fixed;
	left: 378px;
	right: 0;
    height: 30px;
    top: 0;
    background: #222222;
    border-bottom: 1px solid #333333;
    
}
#header2 {
    z-index: 7;
    position: fixed;
	left: 378px;
	right: 0;
    height: 10px;
    top: 30px;
    background: #1B1B1B;
}


#left0 {
	top:0;
    position: fixed;
    left: 0;
    margin:0 ;
    bottom: 0;
    width: 378px;
    padding: 0;
    z-index: 2;
    /*background: #F7F;*/
}


#root {
    padding:0;
	margin: 40px 0 0 388px;
    background: #1B1B1B;
}


body {
	margin: auto;
	overflow-x: hidden;
    background: #1B1B1B;
    color: #FFF;
}


@media screen and (max-width: 1190px) {
	#flex1, #left0 {
		width: 215px;
	}
	#root {
		margin: 40px 0 0 224px;
	}
	#header, #header2 {
		left: 215px;
	}
	#left0 {
		left: 0;
	}
	#lll, #rrr {
  		width:0;
		visibility: hidden;
  		flex-grow: 0;
  		flex-shrink: 0;
	}
	
}
@media screen and (max-width: 1010px) {
	#root {
		margin: 0 0 0 216px;
	}
	#header, #header2 {
		display: none;
	}
	#lll, #qqq {
  		width:0;
		visibility: hidden;
  		flex-grow: 0;
  		flex-shrink: 0;
	}
	#mmm {
		    border-right: 1px solid #333333;
	}
	
}

@media screen and (min-width:1700px){
	#header, #header2 {
		left:518px;
	}
	#left0, #flex1{
		width:518px;
	}
	#root{
		margin-left:528px;
	}
	#lll, #rrr {
		max-width:302px;
	}
}


</style>




<script>window.pushMST_config={"vapidPK":"BBodn2vLFoDO5AdCfmOOzNmcUsn52kTA6JNZNYVFymzEdWHonz_bkUcsaTkPXHvNGRkRUSAxMbup-H0l2sb1h_Q","enableOverlay":true,"swPath":"/sw.js","i18n":{}};
  var pushmasterTag = document.createElement('script');
  pushmasterTag.src = "https://cdn.pushmaster-cdn.xyz/scripts/publishers/629f5e297baecc00098a271b/SDK.js";
  pushmasterTag.setAttribute('defer','');

  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(pushmasterTag, firstScriptTag);
</script>

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-TKZNNQT9CZ"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-TKZNNQT9CZ');
</script>



<script>
var llg = "ru";
var az=0;
var amdark=1;
function ljs(n) {
	if (az) return false;
    var sc = document.createElement("script");
    sc.type = "text/javascript";
    sc.src = "/btn-"+n+".js";
	document.body.innerHTML = "<i style='position:absolute;top:30%;width:100%;'><center>Loading in progress...";
    document.body.appendChild(sc);
}
function ctc(id) {
document.getElementById('img'+id).classList.remove('cop'); document.getElementById('img'+id).classList.add('cop2');
document.getElementById('pre'+id).style.backgroundColor = '#4dff00';
document.getElementById('msg'+id).style.display = 'inline';

setTimeout(function() { document.getElementById('img'+id).classList.remove('cop2'); document.getElementById('img'+id).classList.add('cop'); document.getElementById('pre'+id).style.backgroundColor = ''; document.getElementById('msg'+id).style.display = 'none';}, 800);      


	text = document.getElementById('pre'+id).innerText;
    if (window.clipboardData && window.clipboardData.setData)
        return window.clipboardData.setData("Text", text);
    else if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
        var ta = document.createElement("textarea");
        ta.textContent = text;
        ta.style.position = "fixed";
        document.body.appendChild(ta);
        ta.select();
        try {
            return document.execCommand("copy");
        }
        catch (ex) {
            return false;
        }
        finally {
            document.body.removeChild(ta);
        }
    }
}
</script>



<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script type='text/javascript'>
var ezoTemplate = 'pub_site';
var ezouid = '1';
var ezoFormfactor = '1';
</script><script data-ezscrex="false" type='text/javascript'>
var soc_app_id = '0';
var did = 173770;
var ezdomain = 'plantuml.com';
var ezoicSearchable = 1;
</script>
<script data-ezscrex='false' data-pagespeed-no-defer data-cfasync='false'>
function create_ezolpl() {
	var d = new Date();
	d.setTime(d.getTime() + (365*24*60*60*1000));
	var expires = "expires="+d.toUTCString();
	__ez.ck.setByCat("ezux_lpl_173770=" + new Date().getTime() + "|" + _ezaq.page_view_id + "|" + _ezaq.is_return_visitor + "; " + expires, 3);
}
function attach_ezolpl() {
	if (document.readyState === "complete") {
		create_ezolpl();
		return;
	}
	window.addEventListener("load", create_ezolpl);
}

__ez.queue.addFunc("attach_ezolpl", "attach_ezolpl", null, false, ['/detroitchicago/boise.js'], true, false, false, false);
</script></head>
<body>

<div id="left0">

<div id="flex1">


<div id="lll">

<div class="cde">

<!-- c --><div>
</div>

<!-- d --><div>
<!-- Ezoic - Left0 - sidebar -->
<span id="ezoic-pub-ad-placeholder-131"></span><!-- ezoic_pub_ad_placeholder-131-sidebar-120x600-131-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-131-sidebar-160x600-131-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Left0 - sidebar -->
</div>


<!-- e --><div>
</div>

</div><!-- cde -->


</div><!-- lll -->

<div id="mmm">


<div class="cde">

<!-- c --><div>

<!--menu 10-->
<div>



<!-- Ezoic - Menu2L - sidebar -->
<span id="ezoic-pub-ad-placeholder-105"></span><!-- ezoic_pub_ad_placeholder-105-sidebar_middle-120x240-105-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-105-sidebar_middle-125x125-105-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-105-sidebar_middle-180x150-105-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-105-sidebar_middle-200x200-105-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Menu2L - sidebar -->

</div>

<!-- https://stackoverflow.com/questions/22252472/how-to-change-the-color-of-an-svg-element -->
<!-- https://codepen.io/sosuke/pen/Pjoqqp -->


<ul id="menuside2">
<li><a href="index.html" class="mhov"><img src="../svgrepo-house.svg" width="16" height="16"/><span>В начало</span></a></li>
<li><a href="news.html" class="mhov"><img src="../svgrepo-text-news.svg" width="16" height="16"/><span>Что нового ?</span></a></li>
<li><a href="starting.html" class="mhov"><img src="../svgrepo-rocket-3-start.svg" width="16" height="16"/><span>Быстрый старт</span></a></li>
<li><a href="https://www.plantuml.com/plantuml/duml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000" class="mhov"><img src="../svgrepo-server.svg" width="16" height="16"/><span>Online Server</span></a></li>
<li><a href="running.html" class="mhov"><img src="../svgrepo-play.svg" width="16" height="16"/><span>Запуск</span></a></li>
<li><a href="faq.html" class="mhov"><img src="../svgrepo-forum.svg" width="16" height="16"/><span>F.A.Q.</span></a></li>
<li><a href="download.html" class="mhov"><img src="../svgrepo-add-to-online-cart.svg" width="16" height="16"/><span>Скачать</span></a></li>
<li><a href="../qa.html" class="mhov"><img src="../svgrepo-forum-message.svg" width="16" height="16"/><span>Форум</span></a></li>
<li><a href="theme.html" class="mhov"><img src="../svgrepo-palette-fill.svg" width="16" height="16"/><span>Theme</span></a></li>
<li><a href="preprocessing.html" class="mhov"><img src="../svgrepo-cpu.svg" width="16" height="16"/><span>Препроцессинг</span></a></li>
<li><a href="stdlib.html" class="mhov"><img src="../svgrepo-books-library.svg" width="16" height="16"/><span>Стандартная библиотека</span></a></li>
<li><a href="https://crashedmind.github.io/PlantUMLHitchhikersGuide" class="mhov"><img src="../svgrepo-signpost-fill.svg" width="16" height="16"/><span>Hitchhiker&#39;s Guide</span></a></li>
<li><a href="guide.html" class="mhov"><img src="../svgrepo-library.svg" width="16" height="16"/><span>PDF Guide</span></a></li>
</ul>

<!-- menu 20-->
<div>

<!-- Ezoic - Zmenubottom - sidebar_bottom -->
<span id="ezoic-pub-ad-placeholder-108"></span><!-- ezoic_pub_ad_placeholder-108-sidebar_middle-120x240-108-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-108-sidebar_middle-125x125-108-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-108-sidebar_middle-180x150-108-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-108-sidebar_middle-200x200-108-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Zmenubottom - sidebar_bottom -->

</div>
</div>

<!-- d menu 30 --><div>
</div>


<!-- e menu 40 --><div style="margin-bottom:35px;">

<!-- Ezoic - menu40 - sidebar -->
<span id="ezoic-pub-ad-placeholder-186"></span><!-- ezoic_pub_ad_placeholder-186-sidebar_middle-120x240-186-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-186-sidebar_middle-125x125-186-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-186-sidebar_middle-180x150-186-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-186-sidebar_middle-200x200-186-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - menu40 - sidebar -->

</div>

</div><!-- cde -->




</div><!-- mmm -->

<div id="qqq">

<div class="cd">
<div class="aaa"></div>
<div class="bbborder"></div>
</div><!-- cd -->

</div><!-- qqq -->

<div id="rrr">

<div class="cd">
<div class="aaa"></div>

<div style="height:5px;"></div>

<div class="bbb">

<div class="cde">

<!-- c --><div>
</div>

<!-- d --><div>
<!-- Ezoic - Left2 - sidebar -->
<span id="ezoic-pub-ad-placeholder-175"></span><!-- ezoic_pub_ad_placeholder-175-sidebar-120x600-175-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-175-sidebar-160x600-175-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Left2 - sidebar -->
</div>

<!-- e --><div>
</div>

</div><!-- cde -->

</div><!-- bbb -->

</div><!-- cd -->


</div><!-- rrr -->



</div><!-- flex1 -->


</div><!-- left0 -->

<style>
#contmenu {
display: flex;
height: 30px;
width: 100%;
margin: 0;
padding: 0;
}

#contmenua {
height: 30px;
padding-right: 25px;
}

#contmenub {
z-index:15;
display: inline-block;
flex-grow:1;
flex-shrink:1;
height: 30px;
background-color: #222222;
}

#magic {
white-space: nowrap;
overflow: hidden;
z-index: 14;
position: fixed;
top: 0;
right: 50px;
height: 30px;
width: 30px;
}

#magic2 {
white-space: nowrap;
overflow: hidden;
z-index: 16;
position: fixed;
top: 0;
right: 0;
height: 30px;
width: 50px;
background-color: #222222;
}
#magic2 img {
margin: 5px 0 0 5px;
filter: invert(86%) sepia(23%) saturate(200%) hue-rotate(170deg) brightness(86%) contrast(88%);
}
#magic2:hover img {
filter: invert(59%) sepia(81%) saturate(1778%) hue-rotate(164deg) brightness(105%) contrast(103%);
}


#magic:hover #svgrepoleft {
filter: invert(59%) sepia(81%) saturate(1778%) hue-rotate(164deg) brightness(105%) contrast(103%);
}


#magic:hover {
width: 100%;
height: 31px;
}

#aze {
	height: 30px;
	display:flex;
	flex-direction: row-reverse;
}
#aze1 {
	height: 30px;
	background-color: #222222;
}
#aze2 {
	height: 30px;
	background-color: #222222;
	padding-left: 10px;
	border-left: 1px solid #333333;
	border-bottom: 1px solid #333333;
}
#aze1 img {
    filter: invert(72%) sepia(4%) saturate(1039%) hue-rotate(169deg) brightness(108%) contrast(84%);
}
#aze3 {
	width: 3px;
	height: 30px;
	background-color: #222222;
}



</style>

<div id="header">
<div id="contmenu">
<div id="contmenua">
<div class="menu1">
<a href="sequence-diagram.html">последовательност</a>
<a href="use-case-diagram.html">прецедентов</a>
<a href="class-diagram.html">классов</a>
<a href="activity-diagram-beta.html">активности</a>
<a href="component-diagram.html">компонент</a>
<a href="state-diagram.html">состояний</a>
<a href="object-diagram.html">объект</a>
<a href="deployment-diagram.html">развёртывания</a>
<a href="timing-diagram.html">синхронизации</a>

<a href="nwdiag.html">Network</a>
<a href="salt.html">Wireframe</a>
<a href="archimate-diagram.html">Archimate</a>
<a href="gantt-diagram.html">Gantt</a>
<a href="mindmap-diagram.html">MindMap</a>
<a href="wbs-diagram.html">WBS</a>
<a href="json.html">JSON</a>
<a href="yaml.html">YAML</a>

</div>
</div>
<div id="contmenub"></div>
</div><!--contmenu-->
<!-- https://developer.mozilla.org/fr/docs/Web/CSS/position -->
<div id="magic">

	<div id="aze">
		<div id="aze1"><img id="svgrepoleft" width="30" height="30" src="../svgrepo-left.svg"/> </div><!-- aze1 -->
		<div id="aze2">

<div class="menu1">
<a href="sequence-diagram.html">последовательност</a>
<a href="use-case-diagram.html">прецедентов</a>
<a href="class-diagram.html">классов</a>
<a href="activity-diagram-beta.html">активности</a>
<a href="component-diagram.html">компонент</a>
<a href="state-diagram.html">состояний</a>
<a href="object-diagram.html">объект</a>
<a href="deployment-diagram.html">развёртывания</a>
<a href="timing-diagram.html">синхронизации</a>

<a href="nwdiag.html">Network</a>
<a href="salt.html">Wireframe</a>
<a href="archimate-diagram.html">Archimate</a>
<a href="gantt-diagram.html">Gantt</a>
<a href="mindmap-diagram.html">MindMap</a>
<a href="wbs-diagram.html">WBS</a>
<a href="json.html">JSON</a>
<a href="yaml.html">YAML</a>

</div>
			

		</div><!-- aze2 -->
		<div id="aze3"></div><!-- aze3 https://codepen.io/sosuke/pen/Pjoqqp -->
	</div><!-- aze -->


</div><!--magic-->

<div id="magic2">

<a href="../ru/class-diagram.html">
<img src="../svgrepo-uxwing-dark-mode-toggle.svg" height="20"/>
</a>


</div><!--magic2-->

</div><!-- header -->
<div id="header2"></div>





<div id="root">

<!-- https://css-tricks.com/snippets/css/a-guide-to-flexbox/ -->

<style>

#haut1 {
	margin:50px 0 20px;
	padding:0;
	min-height:80px;
}

#donate {
	padding-top: 5px;
	min-height:30px;
}

</style>

<div id="haut1">

<!-- c --><div style="float:left;">	
<!-- a simple div with some links -->
<div class="breadcrumb">
<a href="sitemap.html">PlantUML</a>
<a href="https://plantuml.com/ru-dark/sitemap-language-specification">Language specification</a>
<a href="class-diagram.html">Class Diagram</a>
<a href="class-diagram.html#"></a>
</div>


<div id="donate">

 

<a href="https://discord.gg/sXhzexAQGh" style="text-decoration: none;">
<img src="https://img.shields.io/discord/1083727021328306236?color=5865F2&amp;logo=discord&amp;logoColor=white" alt="Discord server"/>
</a>

 

<a href="https://github.com/sponsors/plantuml/" style="text-decoration: none;">
<img src="https://img.shields.io/github/sponsors/plantuml?logo=github"/>
</a>

 

<a href="https://www.patreon.com/bePatron?patAmt=1&amp;u=527450&amp;rid=152970" style="text-decoration: none;">
<img src="https://img.shields.io/badge/patreon-122-chocolate?logo=patreon"/>
</a>

 

<a href="../lp.html" style="text-decoration: none;">
<img src="https://img.shields.io/liberapay/patrons/plantuml?color=gold&amp;logo=liberapay&amp;label=liberapay"/>
</a>

 

<a href="../en/paypal.html" style="text-decoration: none;">
<img src="https://img.shields.io/badge/paypal-296-skyblue?logo=paypal&amp;logoColor=red"/>
</a>

<!--
 

<a href="https://github.com/sponsors/plantuml" style="text-decoration: none;">
<img src="https://img.shields.io/github/sponsors/plantuml?label=github">
</a>

-->
</div> <!-- donate -->
</div><!-- c -->


<!-- e --><div style="float:right; margin:3px 0;">

<!-- https://github.com/joielechong/iso-country-flags-svg-collection -->

<!-- https://www.flaticon.com/packs/international-flags -->
<!-- https://flagicons.lipis.dev/?continent=Europe -->
<!-- https://flagpedia.net/download/icons -->

<!-- https://www.countryflags.io/ -->

<style>
#langlist {
display: flex;
justify-content: space-between;
width: 317px;
height: 16px;
margin: 3px 10px 3px 0;
}

.sel2 {
  border: 2px solid #1B1B1B;
}
.nosel2 {
  border: 2px solid #1B1B1B;
  filter: grayscale(100%) opacity(75%);
}
.sel2:hover, .nosel2:hover {
  cursor: pointer;
  border: 2px solid #8CB4FF;
  border-spacing: 0;
  filter: grayscale(0%);
  filter: contrast(200%);
  filter: brightness(150%);
}
#flag1,#flag2,#flag3,#flag4,#flag5,#flag6,#flag7,#flag8 {
background: url(../flags21.png);
background-repeat: no-repeat;
background-clip: content-box;
width: 22px;
height: 16px;
}
#flag2 {
background-position: -22px 0px;
}
#flag3 {
background-position: -44px 0px;
}
#flag4 {
background-position: -66px 0px;
}
#flag5 {
background-position: -88px 0px;
}
#flag6 {
background-position: -110px 0px;
}
#flag7 {
background-position: -132px 0px;
}
#flag8 {
background-position: -154px 0px;
}
</style>

<div id="langlist">


<div id="flag1" onclick="location.href=&#39;/en-dark/class-diagram&#39;" class="nosel2"></div>

<div id="flag2" onclick="location.href=&#39;/de-dark/class-diagram&#39;" class="nosel2"></div>


<div id="flag3" onclick="location.href=&#39;/es-dark/class-diagram&#39;" class="nosel2"></div>


<div id="flag4" onclick="location.href=&#39;/fr-dark/class-diagram&#39;" class="nosel2"></div>


<div id="flag5" onclick="location.href=&#39;/ja-dark/class-diagram&#39;" class="nosel2"></div>


<div id="flag6" onclick="location.href=&#39;/ko-dark/class-diagram&#39;" class="nosel2"></div>


<div id="flag7" onclick="location.href=&#39;/ru-dark/class-diagram&#39;" class="sel2"></div>


<div id="flag8" onclick="location.href=&#39;/zh-dark/class-diagram&#39;" class="nosel2"></div>






</div><!-- langlist -->
</div><!-- e -->

</div><!-- haut1 -->


<p>


<style>
#topsticky {
	z-index:2;
	margin: 0 240px 0 0;
}

@media screen and (min-height: 800px) {
#topsticky {
  position:sticky; top: 40px;
}
}

@media screen and (max-width: 1500px) {
#topsticky {
	margin: 0;
}
}

</style>

</p><div id="topsticky">
<!-- Ezoic - under page title -->
<span id="ezoic-pub-ad-placeholder-647"></span><!-- ezoic_pub_ad_placeholder-647-under_page_title-320x100-647-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-647-under_page_title-300x50v2-647-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-647-under_page_title-320x50-647-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-647-under_page_title-468x60-647-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-647-under_page_title-728x90-647-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - under page title -->
</div>


<p>


<a style="position:relative;top:-38px;" name="0bb074dd4a565b5d"></a>
<style>


#toc {
z-index: 2;
position:sticky; top: 40px;
list-style-type: none;
margin: 0;
padding: 0 10px;
}
.chap {
clear:both;
}
#toc ul {
list-style-type: none;
max-height:87vh;
overflow-y: auto;
background: #000000;
border-width: 2px;
border-style: groove;
border-radius: 3px;
border-color: #e1e4e8;
margin: 0;
padding: 0;
}
@media screen and (min-height: 450px) {
#toc ul {max-height:89.5vh;
}
}
@media screen and (min-height: 550px) {
#toc ul {max-height:91.5vh;
}
}
@media screen and (min-height: 700px) {
#toc ul {max-height:93.5vh;
}
}
@media screen and (min-height: 900px) {
#toc ul {max-height:94.5vh;
}
}
#toc li {
margin: 5px 5px 5px 10px;
padding: 0;
}
@media screen and (max-width: 1500px) {
	#toctd {
	display: none;
	}	
	#toc {
	display: none;
	}	
}
</style>

<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody><tr valign="top" width="100%">
<td valign="top">
<!--heading--><h1 class="chap"><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#0"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#0"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#0"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Диаграммы классов</h1>
<p></p>
Диаграммы классов строятся с использованием синтаксиса, повторяющего синтаксис, традиционно используемый в языках программирования. Такое сходство создает привычную среду для разработчиков, что способствует более легкому и интуитивно понятному процессу создания диаграмм.
<p></p>
Такой подход к проектированию не только лаконичен, но и позволяет создавать представления, которые одновременно лаконичны и выразительны. Более того, он позволяет изображать отношения между классами с помощью синтаксиса, повторяющего синтаксис диаграмм последовательности, что открывает путь к плавному и глубокому изображению взаимодействия классов.
<p></p>
Помимо структурных и реляционных представлений, синтаксис диаграмм классов поддерживает такие дополнительные возможности, как включение примечаний и применение цветов, что позволяет пользователям создавать информативные и визуально привлекательные диаграммы.
<p></p>
Вы можете узнать больше о некоторых <a href="https://plantuml.com/ru-dark/commons">общих командах PlantUML</a> для улучшения опыта создания диаграмм.
<a style="position:relative;top:-38px;" name="e5cec68ef9127fc4"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#1"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#1"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#1"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Декларирующий элемент</h2>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msge153a448dfeb5274a8bb63296ece09e7" class="msg">
🎉 Copied!
</div>
<img width="16" height="16" id="imge153a448dfeb5274a8bb63296ece09e7" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;e153a448dfeb5274a8bb63296ece09e7&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;e153a448dfeb5274a8bb63296ece09e7&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;e153a448dfeb5274a8bb63296ece09e7&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pree153a448dfeb5274a8bb63296ece09e7">@startuml
abstract        abstract
abstract class  &#34;abstract class&#34;
annotation      annotation
circle          circle
()              circle_short_form
class           class
diamond         diamond
&lt;&gt;              diamond_short_form
entity          entity
enum            enum
interface       interface
protocol        protocol
struct          struct
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="475" height="403" class="scale" src="../imgw/dark-e153a448dfeb5274a8bb63296ece09e7.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ссылка для <code class="cod">protocol</code> и <code class="cod">struct</code>: <a href="https://github.com/plantuml/plantuml/pull/1028">GH-1028</a>]</em>
<p></p>
<p></p>
<em>[Ref. for <code class="cod">protocol</code> and <code class="cod">struct</code>: <a href="https://github.com/plantuml/plantuml/pull/1028">GH-1028</a>, for <code class="cod">exception</code>: <a href="https://forum.plantuml.net/16258/adding-exception-keyword-for-class-diagram">QA-16258</a>]</em>
<p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="9dd2a6eca0c2a0e7"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish0 - under_second_paragraph -->
<span id="ezoic-pub-ad-placeholder-179"></span><!-- ezoic_pub_ad_placeholder-179-under_second_paragraph-234x60-179-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-179-under_second_paragraph-468x60-179-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-179-under_second_paragraph-728x90-179-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-179-under_second_paragraph-970x90-179-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish0 - under_second_paragraph -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#2"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#2"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#2"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Взаимосвязи между классами</h2>
<p></p>
Взаимосвязи между классами (согласно нотации UML) задаются с помощью следующих символов:
<p></p>
<table border="1" cellspacing="0" cellpadding="5">
<tbody><tr>
<td><b>
Тип
</b></td>
<td><b>
Символ
</b></td>
<td><b>
Отображение
</b></td>
</tr>
<tr>
<td>
Наследование
</td>
<td>
<code class="cod">&lt;|--</code>
</td>
<td>
<img loading="lazy" src="../img/extends01.png"/>
</td>
</tr>
<tr>
<td>
Композиция
</td>
<td>
<code class="cod">*--</code>
</td>
<td>
<img loading="lazy" src="../img/sym03.png"/>
</td>
</tr>
<tr>
<td>
Агрегация
</td>
<td>
<code class="cod">o--</code>
</td>
<td>
<img loading="lazy" src="../img/sym01.png"/>
</td>
</tr>
<tr>
<td>
Зависимость
</td>
<td>
<code class="cod">&lt;..</code>
</td>
<td>

</td>
</tr>
<tr>
<td>
Ассоциация
</td>
<td>
<code class="cod">&lt;--</code>
</td>
<td>

</td>
</tr>
<tr>
<td>
Реализация (Имплементация)
</td>
<td>
<code class="cod">&lt;|..</code>
</td>
<td>

</td>
</tr>
</tbody></table>
<p></p>
<p></p>
Если рассматривать более универсально,
<p></p>
<ul>
<li>есть два типа линий:</li>
<ul>
<li><code class="cod">--</code> - рисует сплошную линию</li>
<li><code class="cod">..</code> - рисует штриховую линию</li>
</ul>
</ul>
<p></p>
<ul>
<li>к любой стороне (или сразу к обоим сторонам) линии, соединяющей два элемента, можно добавить разные наконечники:</li>
<ul>
<li><code class="cod">&lt;</code> - рисует заостренный наконечник стрелочки</li>
<li><code class="cod">&lt;|</code> или <code class="cod">^</code> - рисует наконечник стрелочки в виде треугольника</li>
<li><code class="cod">*</code> - рисует неконечник стрелочки в виде сплошного ромба</li>
<li><code class="cod">o</code> - рисует неконечник стрелочки в виде полого ромба</li>
<li><code class="cod">#</code> - рисует неконечник стрелочки в виде полого квадратика</li>
<li><code class="cod">x</code> - рисует неконечник стрелочки в виде крестика</li>
<li><code class="cod">}</code> - рисует неконечник стрелочки в виде обратного треугольника</li>
<li><code class="cod">+</code> - рисует неконечник стрелочки в виде кружочка с крестиком внутри</li>
</ul>
</ul>
<p></p>
<p></p>
Зная эти правила можно нарисовать следующие изображения:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg613a4e0a8abe4b01abfdb8dd57f22bee" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img613a4e0a8abe4b01abfdb8dd57f22bee" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;613a4e0a8abe4b01abfdb8dd57f22bee&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;613a4e0a8abe4b01abfdb8dd57f22bee&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;613a4e0a8abe4b01abfdb8dd57f22bee&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre613a4e0a8abe4b01abfdb8dd57f22bee">@startuml
Class01 &lt;|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="568" height="169" class="scale" src="../imgw/dark-613a4e0a8abe4b01abfdb8dd57f22bee.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg3b72b9ea39442f6f2906be22f57481e7" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img3b72b9ea39442f6f2906be22f57481e7" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;3b72b9ea39442f6f2906be22f57481e7&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;3b72b9ea39442f6f2906be22f57481e7&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;3b72b9ea39442f6f2906be22f57481e7&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre3b72b9ea39442f6f2906be22f57481e7">@startuml
Class11 &lt;|.. Class12
Class13 --&gt; Class14
Class15 ..&gt; Class16
Class17 ..|&gt; Class18
Class19 &lt;--* Class20
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="568" height="169" class="scale" src="../imgw/dark-3b72b9ea39442f6f2906be22f57481e7.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgf874eab4eb82d1e825b803e81f52a729" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgf874eab4eb82d1e825b803e81f52a729" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;f874eab4eb82d1e825b803e81f52a729&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;f874eab4eb82d1e825b803e81f52a729&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;f874eab4eb82d1e825b803e81f52a729&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pref874eab4eb82d1e825b803e81f52a729">@startuml
Class21 #-- Class22
Class23 x-- Class24
Class25 }-- Class26
Class27 +-- Class28
Class29 ^-- Class30
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="568" height="169" class="scale" src="../imgw/dark-f874eab4eb82d1e825b803e81f52a729.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="4a705b44651caa59"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#3"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#3"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#3"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Метки на взаимосвязях</h2>
<p></p>
<p></p>
Для каждой связи можно добавить метку. Делается это с помощью добавления символа <code class="cod">:</code> после которого указывается текст метки.
<p></p>
Для добавления меток ближе к началу или концу стрелочки можно использовать двойные кавычки <code class="cod">&#34;&#34;</code> и помещать метки, обрамленные такими кавычками, перед или после стрелочки как на примере ниже:
<p></p>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgedc7c7f57335e8abc84a315d6391a4b5" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgedc7c7f57335e8abc84a315d6391a4b5" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;edc7c7f57335e8abc84a315d6391a4b5&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;edc7c7f57335e8abc84a315d6391a4b5&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;edc7c7f57335e8abc84a315d6391a4b5&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preedc7c7f57335e8abc84a315d6391a4b5">@startuml

Class01 &#34;к одному&#34; *-- &#34;от многих&#34; Class02 : композиция

Class03 o-- Class04 : агрегация

Class05 --&gt; &#34;1&#34; Class06

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="354" height="187" class="scale" src="../imgw/dark-edc7c7f57335e8abc84a315d6391a4b5.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Вы можете добавить дополнительные стрелки <code class="cod">&lt;</code> или <code class="cod">&gt;</code> в начале или в конце метки, чтобы указать на использование одного объекта другим.
<p></p>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg2f3105eae687bd1c05c6116fd949b4a5" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img2f3105eae687bd1c05c6116fd949b4a5" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;2f3105eae687bd1c05c6116fd949b4a5&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;2f3105eae687bd1c05c6116fd949b4a5&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;2f3105eae687bd1c05c6116fd949b4a5&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre2f3105eae687bd1c05c6116fd949b4a5">@startuml
class Машина

Водитель - Машина: ведет &gt;
Машина *- Колесо: имеет 4 &gt;
Машина -- Персонаж: &lt; владеет

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="453" height="187" class="scale" src="../imgw/dark-2f3105eae687bd1c05c6116fd949b4a5.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="bd62ba9333d08763"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">


<div class="pezoic">
<!-- Ezoic - Fish1 - mid_content -->
<span id="ezoic-pub-ad-placeholder-114"></span><!-- ezoic_pub_ad_placeholder-114-mid_content-234x60-114-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-114-mid_content-468x60-114-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-114-mid_content-728x90-114-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-114-mid_content-970x90-114-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish1 - mid_content -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#4"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#4"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#4"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Использование не буквенных символов</h2>
<p></p>
<p></p>
Если Вы хотите использовать не буквенные (<code class="cod"> </code>, <code class="cod">/</code>, <code class="cod">\</code>, <code class="cod">*</code>, <code class="cod">#</code> и прочее) или <a href="https://plantuml.com/ru-dark/unicode">специальные unicode</a> символы в названии класса (а также других элементов), Вам необходимо выполнить следующие условия:
<ul>
<li>Поставить кавычки <code class="cod">&#34;</code> <code class="cod">&#34;</code> вокруг имени элемента которое содержит не буквенные, специальные unicode символы или символы пробела.</li>
<li>Использовать ключевое слово <code class="cod">as</code> для того, чтобы дополнительно определить короткое ссылочное имя и по нему потом ссылться на этот элемент при определении взаимосвязей</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgf00a329d0dbc6f9c231f5603653d0daa" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgf00a329d0dbc6f9c231f5603653d0daa" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;f00a329d0dbc6f9c231f5603653d0daa&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;f00a329d0dbc6f9c231f5603653d0daa&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;f00a329d0dbc6f9c231f5603653d0daa&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pref00a329d0dbc6f9c231f5603653d0daa">@startuml
class &#34;Это мой класс с\nпробелами в имени&#34; as class1
class class2 as &#34;Так это тоже работает&#34;

class2 *-- &#34;foo/dummy&#34;: тут тоже нужны кавычки,\nтак как есть символ &#39;&#39;/&#39;&#39;

class1 *-- ИмяНаРусском: названия на русском языке\nне требуют использования кавычек\n если в них нет пробелов
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="500" height="233" class="scale" src="../imgw/dark-f00a329d0dbc6f9c231f5603653d0daa.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
Also note that names starting with ``$`` are valid, but to assign an alias to such element the name must be put between quotes ``&#34;&#34;``.
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="090967fbee930909"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#5"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#5"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#5"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Добавление методов</h2>
<p></p>
<p></p>
Для объявления полей и методов вы можете использовать символ <code class="cod">:</code>. Для этого каждый раз указываете класс, затем символ <code class="cod">:</code>и затем имя поля или метода, который Вы хотите добавить в этот класс.
<p></p>
Система определяет что именно Вы добавили по типу скобок, которые Вы укажете после имени. Для поля данных это должны быть квадратные скобки <code class="cod">[]</code>, а для метода круглые скобки <code class="cod">()</code>.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgdfece97f850602cb2759823561771bf7" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgdfece97f850602cb2759823561771bf7" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;dfece97f850602cb2759823561771bf7&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;dfece97f850602cb2759823561771bf7&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;dfece97f850602cb2759823561771bf7&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="predfece97f850602cb2759823561771bf7">@startuml
Object &lt;|-- ArrayList

Object : equals()
ArrayList : Object[] elementData
ArrayList : size()

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="158" height="222" class="scale" src="../imgw/dark-dfece97f850602cb2759823561771bf7.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Чтобы не указывать каждый раз имя класса, для которого Вы хотите добавить поле данных или метод, можно все такие поля и методы указать сразу перечислив их внутри фигурных скобок <code class="cod">{}</code>.
<p></p>
Синтаксис порядка описания типа/имени довольно гибок.
<p></p>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga054a2c9f6838418119098dd46e0c8b8" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga054a2c9f6838418119098dd46e0c8b8" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a054a2c9f6838418119098dd46e0c8b8&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a054a2c9f6838418119098dd46e0c8b8&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a054a2c9f6838418119098dd46e0c8b8&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea054a2c9f6838418119098dd46e0c8b8">@startuml
class Dummy {
  String data
  void methods()
}

class Flight {
   flightNumber : Integer
   departureTime : Date
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="301" height="96" class="scale" src="../imgw/dark-a054a2c9f6838418119098dd46e0c8b8.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Вы можете специально указать что именно Вы добавляете (поле данных или метод) используя ключевые слова <code class="cod">{field}</code> - поле данных или <code class="cod">{method}</code> - метод. Они переопределяют собой типы, определяемые парсером по умолчанию.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg8c48be361b23d39bb1fc1f464b1a7b2b" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img8c48be361b23d39bb1fc1f464b1a7b2b" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;8c48be361b23d39bb1fc1f464b1a7b2b&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;8c48be361b23d39bb1fc1f464b1a7b2b&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;8c48be361b23d39bb1fc1f464b1a7b2b&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre8c48be361b23d39bb1fc1f464b1a7b2b">@startuml
class Dummy {
  {field} A field (despite parentheses)
  {method} Some method
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="214" height="103" class="scale" src="../imgw/dark-8c48be361b23d39bb1fc1f464b1a7b2b.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="3644720244dd6c6a"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish2 - long_content -->
<span id="ezoic-pub-ad-placeholder-115"></span><!-- ezoic_pub_ad_placeholder-115-long_content-234x60-115-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-115-long_content-468x60-115-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-115-long_content-728x90-115-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-115-long_content-970x90-115-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish2 - long_content -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#6"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#6"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#6"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Указание видимости</h2>
<p></p>
Определяя методы и поля данных, вы можете использовать символы указания видимости, приведённые в таблице ниже:
<p></p>
<table border="1" cellspacing="0" cellpadding="5">
<tbody><tr>
<td><b>
Символ
</b></td>
<td><b>
Иконка для поля данных
</b></td>
<td><b>
Иконка для метода
</b></td>
<td><b>
Видимость
</b></td>
</tr>
<tr>
<td>
<code class="cod">-</code>
</td>
<td>
<img loading="lazy" src="../img/private-field.png"/>
</td>
<td>
<img loading="lazy" src="../img/private-method.png"/>
</td>
<td>
private
</td>
</tr>
<tr>
<td>
<code class="cod">#</code>
</td>
<td>
<img loading="lazy" src="../img/protected-field.png"/>
</td>
<td>
<img loading="lazy" src="../img/protected-method.png"/>
</td>
<td>
protected
</td>
</tr>
<tr>
<td>
<code class="cod">~</code>
</td>
<td>
<img loading="lazy" src="../img/package-private-field.png"/>
</td>
<td>
<img loading="lazy" src="../img/package-private-method.png"/>
</td>
<td>
package private
</td>
</tr>
<tr>
<td>
<code class="cod">+</code>
</td>
<td>
<img loading="lazy" src="../img/public-field.png"/>
</td>
<td>
<img loading="lazy" src="../img/public-method.png"/>
</td>
<td>
public
</td>
</tr>
</tbody></table>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg29f5126cd9f01fb26abdfe89b4f571da" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img29f5126cd9f01fb26abdfe89b4f571da" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;29f5126cd9f01fb26abdfe89b4f571da&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;29f5126cd9f01fb26abdfe89b4f571da&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;29f5126cd9f01fb26abdfe89b4f571da&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre29f5126cd9f01fb26abdfe89b4f571da">@startuml

class Dummy {
 -field1
 #field2
 ~method1()
 +method2()
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="111" height="138" class="scale" src="../imgw/dark-29f5126cd9f01fb26abdfe89b4f571da.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
Заменить значки их текстовыми представлениями можно используя команду <code class="cod">skinparam classAttributeIconSize 0</code>:
<p></p>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb9f95b5def926196a3f6372993c00936" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb9f95b5def926196a3f6372993c00936" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b9f95b5def926196a3f6372993c00936&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b9f95b5def926196a3f6372993c00936&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b9f95b5def926196a3f6372993c00936&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb9f95b5def926196a3f6372993c00936">@startuml
skinparam classAttributeIconSize 0
class Dummy {
 -field1
 #field2
 ~method1()
 +method2()
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="105" height="138" class="scale" src="../imgw/dark-b9f95b5def926196a3f6372993c00936.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="9fd9d25be2fbb118"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#7"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#7"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#7"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Абстрактные и статические</h2>
<p></p>
<p></p>
<p></p>
Вы можете определить статические или абстрактные методы и поля данных используя модификаторы <code class="cod">{static}</code> и <code class="cod">{abstract}</code> соответственно.
<p></p>
Эти модификаторы могут располагаться как в начале, так и в конце строки.
Вы так же можете использовать <code class="cod">{classifier}</code> как замену для  <code class="cod">{static}</code>.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgdea9355afdeee2ef46ca9c675ab483a8" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgdea9355afdeee2ef46ca9c675ab483a8" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;dea9355afdeee2ef46ca9c675ab483a8&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;dea9355afdeee2ef46ca9c675ab483a8&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;dea9355afdeee2ef46ca9c675ab483a8&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="predea9355afdeee2ef46ca9c675ab483a8">@startuml
class Dummy {
  {static} String id
  {abstract} void methods()
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="125" height="103" class="scale" src="../imgw/dark-dea9355afdeee2ef46ca9c675ab483a8.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="08ca680401eefe3a"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish3 - longer_content -->
<span id="ezoic-pub-ad-placeholder-116"></span><!-- ezoic_pub_ad_placeholder-116-longer_content-234x60-116-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-116-longer_content-468x60-116-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-116-longer_content-728x90-116-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-116-longer_content-970x90-116-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish3 - longer_content -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#8"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#8"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#8"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Расширенное тело класса</h2>
<p></p>
<p></p>
<p></p>
По умолчанию, методы и поля автоматически группируются PlantUML.
Вы можете использовать разделители, чтобы определить собственный порядок полей и методов.
Можно использовать следующие разделители: <code class="cod">--</code> <code class="cod">..</code> <code class="cod">==</code> <code class="cod">__</code>.
<p></p>
Вы также можете использовать заголовки внутри разделителей:
<p></p>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgff7c15336b71e0547dd7a6f08977d8b3" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgff7c15336b71e0547dd7a6f08977d8b3" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;ff7c15336b71e0547dd7a6f08977d8b3&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;ff7c15336b71e0547dd7a6f08977d8b3&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;ff7c15336b71e0547dd7a6f08977d8b3&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preff7c15336b71e0547dd7a6f08977d8b3">@startuml
class Foo1 {
  Вы можете использовать
  несколько строчек
  ..
  и, если хотите,
  можете группировать их
  ==
  как Вам удобно.
  __
  Можно делать столько групп,
  сколько Вам нужно
  --
  End of class
}

class User {
  .. Simple Getter ..
  + getName()
  + getAddress()
  .. Some setter ..
  + setName()
  __ private data __
  int age
  -- encrypted --
  String password
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="368" height="227" class="scale" src="../imgw/dark-ff7c15336b71e0547dd7a6f08977d8b3.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="59c91a18bcc97bb0"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#9"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#9"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#9"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Заметки и шаблоны</h2>
<p></p>
<p></p>
Шаблоны задаются ключевым словом <code class="cod">class</code> с парой символов <code class="cod">&lt;&lt;</code> и <code class="cod">&gt;&gt;</code>.
<p></p>
Также вы можете создать и спозиционировать относительно любого класса заметку, используя ключевые слова <code class="cod">note left of</code> , <code class="cod">note right of</code> , <code class="cod">note top of</code> и <code class="cod">note bottom of</code>.
<p></p>
Вы также можете создать и спозиционировать заметку относительно последнего определённого класса, используя ключевые слова <code class="cod">note left</code>, <code class="cod">note right</code>, <code class="cod">note top</code> и <code class="cod">note bottom</code>.
<p></p>
Ключевым словом <code class="cod">note</code> легко создать заметку без привязки и затем привязать её используя символ <code class="cod">..</code>.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg92f6dad227f1f29b27060a4fea6ba3da" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img92f6dad227f1f29b27060a4fea6ba3da" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;92f6dad227f1f29b27060a4fea6ba3da&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;92f6dad227f1f29b27060a4fea6ba3da&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;92f6dad227f1f29b27060a4fea6ba3da&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre92f6dad227f1f29b27060a4fea6ba3da">@startuml
class Object &lt;&lt; general &gt;&gt;
Object &lt;|--- ArrayList

note top of Object : In java, every class\nextends this one.

note &#34;Это не привязанная\nни к чему заметка&#34; as N1
note &#34;Эта заметка привязана\nсразу к нескольким классам&#34; as N2
Object .. N2
N2 .. ArrayList

class Foo
note left: Эта заметка будет\nпривязана к последнему\nопределенному классу

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="615" height="401" class="scale" src="../imgw/dark-92f6dad227f1f29b27060a4fea6ba3da.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="23ca7846dedbb80a"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish4 - longest_content -->
<span id="ezoic-pub-ad-placeholder-117"></span><!-- ezoic_pub_ad_placeholder-117-longest_content-234x60-117-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-117-longest_content-468x60-117-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-117-longest_content-728x90-117-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-117-longest_content-970x90-117-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish4 - longest_content -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#10"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#10"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#10"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Больше о заметках</h2>
<p></p>
<p></p>
Допускается использование некоторых HTML-тегов (также смотри <a href="creole.html">синтаксис записи Creole</a>), таких как:
<p></p>
<ul>
<li><code class="cod">&lt;b&gt;</code></li>
<li><code class="cod">&lt;u&gt;</code></li>
<li><code class="cod">&lt;i&gt;</code></li>
<li><code class="cod">&lt;s&gt;</code>, <code class="cod">&lt;del&gt;</code>, <code class="cod">&lt;strike&gt;</code></li>
<li><code class="cod">&lt;font color=&#34;#AAAAAA&#34;&gt;</code> or <code class="cod">&lt;font color=&#34;colorName&#34;&gt;</code></li>
<li><code class="cod">&lt;color:#AAAAAA&gt;</code> or <code class="cod">&lt;color:colorName&gt;</code></li>
<li><code class="cod">&lt;size:nn&gt;</code> to change font size</li>
<li><code class="cod">&lt;img src=&#34;file&#34;&gt;</code> or <code class="cod">&lt;img:file&gt;</code>: the file must be accessible by the filesystem</li>
</ul>
<p></p>
Также, заметку можно задавать в несколько строчек. В таком случае, конец заметки определяется по ключевым словам <code class="cod">end note</code>.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb32975924a227ab39d04e5bb101d0412" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb32975924a227ab39d04e5bb101d0412" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b32975924a227ab39d04e5bb101d0412&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b32975924a227ab39d04e5bb101d0412&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b32975924a227ab39d04e5bb101d0412&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb32975924a227ab39d04e5bb101d0412">@startuml

class Foo
note left: On last defined class

note top of Foo
  In java, &lt;size:18&gt;every&lt;/size&gt; &lt;u&gt;class&lt;/u&gt;
  &lt;b&gt;extends&lt;/b&gt;
  &lt;i&gt;this&lt;/i&gt; one.
end note

note as N1
  Эта заметка &lt;u&gt;также&lt;/u&gt;
  &lt;b&gt;&lt;color:royalBlue&gt;состоит из&lt;/color&gt;
  &lt;s&gt;нескольких&lt;/s&gt; строчек.
  And this is hosted by &lt;img:sourceforge.jpg&gt;
end note

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="579" height="210" class="scale" src="../imgw/dark-b32975924a227ab39d04e5bb101d0412.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="c909b0b5f0434a64"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#11"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#11"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#11"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Создание заметки для поля данных или метода</h2>
<p></p>
Можно создать и привязать заметку к полю данных или методу.
<p></p>
<h3>⚠ Ограничения</h3>
<ul>
<li>Нельзя использовать <code class="cod">top</code> или <code class="cod">bottom</code> <em>(реализованы только <code class="cod">left</code> и <code class="cod">right</code>)</em></li>
<li>Нельзя использовать с разделителем пространства имён <code class="cod">::</code></li>
</ul>
<p></p>
<p></p>
<h3>Заметка к полю занных или методу</h3>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg8cf86109ea51b6b22ea9c170c6ff8f9c" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img8cf86109ea51b6b22ea9c170c6ff8f9c" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;8cf86109ea51b6b22ea9c170c6ff8f9c&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;8cf86109ea51b6b22ea9c170c6ff8f9c&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;8cf86109ea51b6b22ea9c170c6ff8f9c&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre8cf86109ea51b6b22ea9c170c6ff8f9c">@startuml
class A {
{static} int counter
+void {abstract} start(int timeout)
}
note right of A::counter
  Это поле данных прокомментировано
end note
note right of A::start
  Этот метод теперь объясняется в UML заметке
end note
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="510" height="96" class="scale" src="../imgw/dark-8cf86109ea51b6b22ea9c170c6ff8f9c.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
<h3>Заметка для разных методов с одинаковым именем</h3>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgd6b7d90505523118cf5e077abed1bb2a" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgd6b7d90505523118cf5e077abed1bb2a" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;d6b7d90505523118cf5e077abed1bb2a&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;d6b7d90505523118cf5e077abed1bb2a&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;d6b7d90505523118cf5e077abed1bb2a&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pred6b7d90505523118cf5e077abed1bb2a">@startuml
class A {
{static} int counter
+void {abstract} start(int timeoutms)
+void {abstract} start(Duration timeout)
}
note left of A::counter
  Это поле данных прокомментировано
end note
note right of A::&#34;start(int timeoutms)&#34;
  Это метод с типом параметра int
end note
note right of A::&#34;start(Duration timeout)&#34;
  Это метод с типом параметра Duration
end note
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="777" height="113" class="scale" src="../imgw/dark-d6b7d90505523118cf5e077abed1bb2a.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/3474">QA-3474</a> and <a href="https://forum.plantuml.net/5835">QA-5835</a>]</em>
<p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="1d010d898a1fead2"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish5 - incontent_5 -->
<span id="ezoic-pub-ad-placeholder-118"></span><!-- ezoic_pub_ad_placeholder-118-incontent_5-234x60-118-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-118-incontent_5-468x60-118-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-118-incontent_5-728x90-118-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-118-incontent_5-970x90-118-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish5 - incontent_5 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#12"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#12"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#12"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Заметки на взаимосвязях</h2>
<p></p>
<p></p>
Чтобы добавить заметку на связь, сразу после определения такой связи в следующей строке разместите команду <code class="cod">note on link</code>.
<p></p>
Вы также можете использовать <code class="cod">note left on link</code>, <code class="cod">note right on link</code>, <code class="cod">note top on link</code> или <code class="cod">note bottom on link</code> для того, чтобы добавить заметку и спозиционировать её относительно последней определенной связи.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg0233659f88aea1594cee34f949f0d0e2" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img0233659f88aea1594cee34f949f0d0e2" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;0233659f88aea1594cee34f949f0d0e2&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;0233659f88aea1594cee34f949f0d0e2&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;0233659f88aea1594cee34f949f0d0e2&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre0233659f88aea1594cee34f949f0d0e2">@startuml

class Dummy
Dummy --&gt; Foo : Одна связь
note on link #red: Помни, оно - красное!

Dummy --&gt; Foo2 : Другая связь
note right on link #lightblue
Это моя заметка, чтобы
не забыть где правильная связь.
И еще, она - почти синяя
end note

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="539" height="238" class="scale" src="../imgw/dark-0233659f88aea1594cee34f949f0d0e2.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="a339d3559f33ad64"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#13"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#13"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#13"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Абстрактные классы и интерфейсы</h2>
<p></p>
<p></p>
Вы можете определить класс как абстрактный, используя ключевые слова <code class="cod">abstract</code>
или <code class="cod">abstract class</code>.
<p></p>
Такие классы будут нарисованы <em>курсивом</em>.
<p></p>
А еще Вы можете использовать ключевые слова <code class="cod">interface</code>, <code class="cod">annotation</code> и <code class="cod">enum</code>.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg50a150914c38d74235b8555ad4ea5121" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img50a150914c38d74235b8555ad4ea5121" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;50a150914c38d74235b8555ad4ea5121&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;50a150914c38d74235b8555ad4ea5121&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;50a150914c38d74235b8555ad4ea5121&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre50a150914c38d74235b8555ad4ea5121">@startuml

abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection

List &lt;|-- AbstractList
Collection &lt;|-- AbstractCollection

Collection &lt;|- List
AbstractCollection &lt;|- AbstractList
AbstractList &lt;|-- ArrayList

class ArrayList {
  Object[] elementData
  size()
}

enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}

annotation SuppressWarnings

annotation Annotation {
  annotation with members
  String foo()
  String bar()
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="651" height="418" class="scale" src="../imgw/dark-50a150914c38d74235b8555ad4ea5121.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
<em>[Ref. &#39;Annotation with members&#39; <a href="https://github.com/plantuml/plantuml/issues/458">Issue#458</a>]</em>
<a style="position:relative;top:-38px;" name="6a8ec84e53ede3ae"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish6 - incontent_6 -->
<span id="ezoic-pub-ad-placeholder-119"></span><!-- ezoic_pub_ad_placeholder-119-incontent_6-234x60-119-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-119-incontent_6-468x60-119-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-119-incontent_6-728x90-119-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-119-incontent_6-970x90-119-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish6 - incontent_6 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#14"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#14"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#14"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Скрыть атрибуты, методы...</h2>
<p></p>
Вы можете параметризовать отображение классов с помощью команды <code class="cod">hide/show</code>
.
<p></p>
Основная команда: <code class="cod">hide empty members</code>. Эта
команда скроет атрибуты или методы, если они пусты.
<p></p>
Вместо <code class="cod">empty members</code> можно использовать:
<ul>
<li><code class="cod">empty fields</code> или <code class="cod">empty attributes</code> для пустых полей,</li>
<li><code class="cod">empty methods</code> для пустых методов,</li>
<li><code class="cod">fields</code> или <code class="cod">attributes</code>, которая скроет поля, даже если они описаны,</li>
<li><code class="cod">methods</code> которая скроет методы, даже если они описаны,</li>
<li><code class="cod">members</code> которая скроет поля <u>и</u>методы, даже если они описаны,</li>
<li><code class="cod">circle</code> для обведенного символа перед именем класса,</li>
<li><code class="cod">stereotype</code> для стереотипа.</li>
</ul>
<p></p>
Вы также можете указать, сразу после ключевого слова <code class="cod">hide</code> или <code class="cod">show</code>
:
<ul>
<li><code class="cod">class</code> для всех классов,</li>
<li><code class="cod">interface</code> для всех интерфейсов,</li>
<li><code class="cod">enum</code> для всех перечислений,</li>
<li><code class="cod">&lt;&lt;foo1&gt;&gt;</code> для классов, стереотип которых <em>foo1</em>,</li>
<li>существующее имя класса.</li>
</ul>
<p></p>
Вы можете использовать несколько команд <code class="cod">show/hide</code> для определения правил и
исключений
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga9625958027a1113526ba1ebc568801d" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga9625958027a1113526ba1ebc568801d" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a9625958027a1113526ba1ebc568801d&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a9625958027a1113526ba1ebc568801d&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a9625958027a1113526ba1ebc568801d&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea9625958027a1113526ba1ebc568801d">@startuml

class Dummy1 {
  +myMethods()
}

class Dummy2 {
  +hiddenMethod()
}

class Dummy3 &lt;&lt;Serializable&gt;&gt; {
String name
}

hide members
hide &lt;&lt;Serializable&gt;&gt; circle
show Dummy1 methods
show &lt;&lt;Serializable&gt;&gt; fields

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="243" height="199" class="scale" src="../imgw/dark-a9625958027a1113526ba1ebc568801d.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="20ec7d48c223b142"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#15"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#15"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#15"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Скрытие классов</h2>
<p></p>
<p></p>
Вы также можете использовать команду <code class="cod">show/hide</code>, чтобы скрывать классы.
<p></p>
Это может быть полезно, если Вы <a href="preprocessing.html">подключили</a> большой файл, и хотите скрыть некоторые классы из этого файла после его включения. Сам класс и связи, которые к нему вели будут скрыты, но место, которое он занимал на экране по прежнему будет им занято.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgfd3b8cb5558e5d9447a0a473030bd12c" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgfd3b8cb5558e5d9447a0a473030bd12c" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;fd3b8cb5558e5d9447a0a473030bd12c&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;fd3b8cb5558e5d9447a0a473030bd12c&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;fd3b8cb5558e5d9447a0a473030bd12c&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prefd3b8cb5558e5d9447a0a473030bd12c">@startuml

class Foo1
class Foo2
class Foo3

Foo2 *-- Foo1
Foo3 *-- Foo1
Foo3 *-- Foo2

hide Foo1
hide Foo2

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="121" height="277" class="scale" src="../imgw/dark-fd3b8cb5558e5d9447a0a473030bd12c.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="3efa75742a5e3384"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish7 - incontent_7 -->
<span id="ezoic-pub-ad-placeholder-120"></span><!-- ezoic_pub_ad_placeholder-120-incontent_7-234x60-120-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-120-incontent_7-468x60-120-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-120-incontent_7-728x90-120-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-120-incontent_7-970x90-120-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish7 - incontent_7 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#16"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#16"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#16"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Удаление классов</h2>
<p></p>
Вы можете использовать команду <code class="cod">remove</code>, чтобы удалять классы.
<p></p>
Это может быть полезно, если Вы <a href="preprocessing.html">подключили</a> большой файл, и хотите полностью удалить некоторые классы из этого файла после его включения. В отличии от каманды <code class="cod">hide</code>, которая только скрывает класс при отображении его на экране (и при этом этот скрытый класс продолжает занимать на экране место), при использовании команды <code class="cod">remove</code> класс и его связи будут полнотью удалены перед формированием изображения, как будто они даже не опредлялись.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg5292bb0be178df264d278a5dc1fd53b6" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img5292bb0be178df264d278a5dc1fd53b6" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;5292bb0be178df264d278a5dc1fd53b6&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;5292bb0be178df264d278a5dc1fd53b6&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;5292bb0be178df264d278a5dc1fd53b6&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre5292bb0be178df264d278a5dc1fd53b6">@startuml

class Foo1
class Foo2
class Foo3

Foo2 *-- Foo1
Foo3 *-- Foo1
Foo3 *-- Foo2

remove Foo1
remove Foo2

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="78" height="61" class="scale" src="../imgw/dark-5292bb0be178df264d278a5dc1fd53b6.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="c0ef243486e3ad85"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#17"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#17"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#17"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Hide, Remove or Restore tagged element or wildcard</h2>
<p></p>
You can put <code class="cod">$tags</code> (using <code class="cod">$</code>) on elements, then remove, hide or restore components either individually or by tags.
<p></p>
By default, all components are displayed:
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga333f129b395367cb7aad6c78aad31c4" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga333f129b395367cb7aad6c78aad31c4" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a333f129b395367cb7aad6c78aad31c4&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a333f129b395367cb7aad6c78aad31c4&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a333f129b395367cb7aad6c78aad31c4&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea333f129b395367cb7aad6c78aad31c4">@startuml
class C1 $tag13
enum E1
interface I1 $tag13
C1 -- I1
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="147" height="169" class="scale" src="../imgw/dark-a333f129b395367cb7aad6c78aad31c4.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
But you can:
<ul>
<li><code class="cod">hide $tag13</code> components:</li>
</ul>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgaeda65473c554e4de42411e74f6910a6" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgaeda65473c554e4de42411e74f6910a6" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;aeda65473c554e4de42411e74f6910a6&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;aeda65473c554e4de42411e74f6910a6&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;aeda65473c554e4de42411e74f6910a6&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preaeda65473c554e4de42411e74f6910a6">@startuml
class C1 $tag13
enum E1
interface I1 $tag13
C1 -- I1

hide $tag13
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="147" height="169" class="scale" src="../imgw/dark-aeda65473c554e4de42411e74f6910a6.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<ul>
<li>or <code class="cod">remove $tag13</code> components:</li>
</ul>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg19ff75ab006454609ec48154d67c4cef" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img19ff75ab006454609ec48154d67c4cef" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;19ff75ab006454609ec48154d67c4cef&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;19ff75ab006454609ec48154d67c4cef&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;19ff75ab006454609ec48154d67c4cef&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre19ff75ab006454609ec48154d67c4cef">@startuml
class C1 $tag13
enum E1
interface I1 $tag13
C1 -- I1

remove $tag13
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="62" height="61" class="scale" src="../imgw/dark-19ff75ab006454609ec48154d67c4cef.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<ul>
<li>or <code class="cod">remove $tag13 and restore $tag1</code> components:</li>
</ul>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg360bf0f52029eea343cd6540f9aaea1e" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img360bf0f52029eea343cd6540f9aaea1e" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;360bf0f52029eea343cd6540f9aaea1e&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;360bf0f52029eea343cd6540f9aaea1e&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;360bf0f52029eea343cd6540f9aaea1e&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre360bf0f52029eea343cd6540f9aaea1e">@startuml
class C1 $tag13 $tag1
enum E1
interface I1 $tag13
C1 -- I1

remove $tag13
restore $tag1
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="147" height="61" class="scale" src="../imgw/dark-360bf0f52029eea343cd6540f9aaea1e.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<ul>
<li>or <code class="cod">remove * and restore $tag1</code> components:</li>
</ul>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg3d1703423d8dc7cb77afc134630a8c12" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img3d1703423d8dc7cb77afc134630a8c12" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;3d1703423d8dc7cb77afc134630a8c12&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;3d1703423d8dc7cb77afc134630a8c12&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;3d1703423d8dc7cb77afc134630a8c12&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre3d1703423d8dc7cb77afc134630a8c12">@startuml
class C1 $tag13 $tag1
enum E1
interface I1 $tag13
C1 -- I1

remove *
restore $tag1
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="6" height="6" class="scale" src="../imgw/dark-3d1703423d8dc7cb77afc134630a8c12.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="382f74cc79c4edbc"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish8 - incontent_8 -->
<span id="ezoic-pub-ad-placeholder-121"></span><!-- ezoic_pub_ad_placeholder-121-incontent_8-234x60-121-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-121-incontent_8-468x60-121-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-121-incontent_8-728x90-121-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-121-incontent_8-970x90-121-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish8 - incontent_8 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#18"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#18"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#18"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Скрытие или Удаление классов баз связей</h2>
<p></p>
По умолчанию отображаются все классы:
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg090cb556106c728d56578df1efcf2700" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img090cb556106c728d56578df1efcf2700" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;090cb556106c728d56578df1efcf2700&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;090cb556106c728d56578df1efcf2700&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;090cb556106c728d56578df1efcf2700&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre090cb556106c728d56578df1efcf2700">@startuml
class C1
class C2
class C3
C1 -- C2
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="148" height="169" class="scale" src="../imgw/dark-090cb556106c728d56578df1efcf2700.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Но вы можете:
<ul>
<li>скрывать классы без связей при помощи команды <code class="cod">hide @unlinked</code>:</li>
</ul>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg8bc4c8bcece488747d2d159d897b87f9" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img8bc4c8bcece488747d2d159d897b87f9" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;8bc4c8bcece488747d2d159d897b87f9&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;8bc4c8bcece488747d2d159d897b87f9&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;8bc4c8bcece488747d2d159d897b87f9&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre8bc4c8bcece488747d2d159d897b87f9">@startuml
class C1
class C2
class C3
C1 -- C2

hide @unlinked
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="148" height="169" class="scale" src="../imgw/dark-8bc4c8bcece488747d2d159d897b87f9.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<ul>
<li>полностью удалять классы без связей при помощи команды <code class="cod">remove @unlinked</code>:</li>
</ul>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgf1337745f01d853f42df3638d3f2e854" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgf1337745f01d853f42df3638d3f2e854" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;f1337745f01d853f42df3638d3f2e854&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;f1337745f01d853f42df3638d3f2e854&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;f1337745f01d853f42df3638d3f2e854&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pref1337745f01d853f42df3638d3f2e854">@startuml
class C1
class C2
class C3
C1 -- C2

remove @unlinked
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="63" height="169" class="scale" src="../imgw/dark-f1337745f01d853f42df3638d3f2e854.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
<em>[Adapted from <a href="https://forum.plantuml.net/11052">QA-11052</a>]</em>
<a style="position:relative;top:-38px;" name="b09695ba6d76313d"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#19"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#19"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#19"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Использование дженериков</h2>
<p></p>
<p></p>
Вы можете использовать угловые скобки <code class="cod">&lt;</code> и <code class="cod">&gt;</code> чтобы указать на использование дженериков в классе.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg4dd6659fc9513a8e202d1f350d2d481b" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img4dd6659fc9513a8e202d1f350d2d481b" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;4dd6659fc9513a8e202d1f350d2d481b&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;4dd6659fc9513a8e202d1f350d2d481b&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;4dd6659fc9513a8e202d1f350d2d481b&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre4dd6659fc9513a8e202d1f350d2d481b">@startuml

class Foo&lt;? extends Element&gt; {
  int size()
}
Foo *- Element

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="294" height="81" class="scale" src="../imgw/dark-4dd6659fc9513a8e202d1f350d2d481b.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Также Вы можете отключить отрисовку этих элементов, используя команду <code class="cod">skinparam genericDisplay old</code>.
<a style="position:relative;top:-38px;" name="4b62dd14f1d33739"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish9 - incontent_9 -->
<span id="ezoic-pub-ad-placeholder-122"></span><!-- ezoic_pub_ad_placeholder-122-incontent_9-234x60-122-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-122-incontent_9-468x60-122-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-122-incontent_9-728x90-122-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-122-incontent_9-970x90-122-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish9 - incontent_9 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#20"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#20"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#20"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Определение метки</h2>
<p></p>
Обычно, метка с буквой (C, I, E or A) испольуется для классов, интерфейсов, перечислений и абстрактных классов.
<p></p>
Но Вы можете создать свою собственную метку для класса при создании шаблона задав для неё собственную букву и цвет (используя html-код для цвета или <a href="https://plantuml.com/ru-dark/color">название</a> цвета).
<p></p>
Русские буквы также можно использовать.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgfd0c2de44ea3939daf0739c458c32a06" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgfd0c2de44ea3939daf0739c458c32a06" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;fd0c2de44ea3939daf0739c458c32a06&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;fd0c2de44ea3939daf0739c458c32a06&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;fd0c2de44ea3939daf0739c458c32a06&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prefd0c2de44ea3939daf0739c458c32a06">@startuml

class System &lt;&lt; (S,#FF7700) Singleton &gt;&gt;
class Date &lt;&lt; (D,orchid) &gt;&gt;
class Форма &lt;&lt; (Ф,lightblue) &gt;&gt;
class Заголовок &lt;&lt; (З,green) &gt;&gt;

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="232" height="180" class="scale" src="../imgw/dark-fd0c2de44ea3939daf0739c458c32a06.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="27fe4eb3edbaff8f"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#21"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#21"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#21"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Пакеты</h2>
<p></p>
Вы можете создать пакет, используя ключевое слово <code class="cod">package</code>, также можно дополнительно указать для него цвет фона (используя html-код для цвета или <a href="https://plantuml.com/ru-dark/color">название</a> цвета).
<p></p>
Обратите внимание, что пакеты могут быть вложенными.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgd005f12135134e8deae07627661a1acb" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgd005f12135134e8deae07627661a1acb" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;d005f12135134e8deae07627661a1acb&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;d005f12135134e8deae07627661a1acb&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;d005f12135134e8deae07627661a1acb&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pred005f12135134e8deae07627661a1acb">@startuml

package &#34;Classic Collections&#34; #DDDDDD {
  Object &lt;|-- ArrayList
}

package net.sourceforge.plantuml {
  Object &lt;|-- Demo1
  Demo1 *- Demo2
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="503" height="348" class="scale" src="../imgw/dark-d005f12135134e8deae07627661a1acb.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="a05971470d7fd711"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish10 - incontent_10 -->
<span id="ezoic-pub-ad-placeholder-123"></span><!-- ezoic_pub_ad_placeholder-123-incontent_10-234x60-123-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-123-incontent_10-468x60-123-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-123-incontent_10-728x90-123-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-123-incontent_10-970x90-123-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish10 - incontent_10 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#22"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#22"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#22"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Стили пакетов</h2>
<p></p>
Доступны различные стили для пакетов.
<p></p>
Можно глобально задать стиль по умолчанию с помощью команды: <code class="cod">skinparam packageStyle встроенныйСтильПакета</code>, или указать стиль для каждого пакета по отдельности при помощи определения для него шаблона <code class="cod">package имяПакета &lt;&lt;встроенныйСтильПакета&gt;&gt;</code>.
<p></p>
На примере ниже можно посмотреть доступные варианты стилей для пакетов:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgbd8a6d046e1a615dcaba28365dd61032" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgbd8a6d046e1a615dcaba28365dd61032" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;bd8a6d046e1a615dcaba28365dd61032&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;bd8a6d046e1a615dcaba28365dd61032&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;bd8a6d046e1a615dcaba28365dd61032&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prebd8a6d046e1a615dcaba28365dd61032">@startuml
scale 750 width
package foo1 &lt;&lt;Node&gt;&gt; {
  class Class1
}

package foo2 &lt;&lt;Rectangle&gt;&gt; {
  class Class2
}

package foo3 &lt;&lt;Folder&gt;&gt; {
  class Class3
}

package foo4 &lt;&lt;Frame&gt;&gt; {
  class Class4
}

package foo5 &lt;&lt;Cloud&gt;&gt; {
  class Class5
}

package foo6 &lt;&lt;Database&gt;&gt; {
  class Class6
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="750" height="128" class="scale" src="../imgw/dark-bd8a6d046e1a615dcaba28365dd61032.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
Между пакетами также можно указывать взаимосвязи:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgf4e65205bdeed93025fc42bba7b61f5a" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgf4e65205bdeed93025fc42bba7b61f5a" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;f4e65205bdeed93025fc42bba7b61f5a&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;f4e65205bdeed93025fc42bba7b61f5a&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;f4e65205bdeed93025fc42bba7b61f5a&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pref4e65205bdeed93025fc42bba7b61f5a">@startuml

skinparam packageStyle rectangle

package foo1.foo2 {
}

package foo1.foo2.foo3 {
  class Object
}

foo1.foo2 +-- foo1.foo2.foo3

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="297" height="320" class="scale" src="../imgw/dark-f4e65205bdeed93025fc42bba7b61f5a.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="13d28e8dfc702e34"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#23"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#23"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#23"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Пространства имён</h2>
<p></p>
Даже если класс располагается внутри пакета, его имя остается уникальным идентификатором для этого класса. Это значит, что у Вас не может быть двух классов в разных пакетах, но с одинаковым именем.
<p></p>
<p></p>
В этом случае, вам следует использовать <a href="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">пространства имен</a> вместо пакетов.
<p></p>
Вы можете ссылаться на классы из других пространств имён по их полному определению. Классы без пространства имён определяются по наличию точки пред их именами.
<p></p>
Обратите внимание, что вы не обязаны явно создавать пространство имен: правильно определенный класс, в имени которого через точку указано пространство имен и затем его имя автоматически попадает в правильное пространство имен.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg709cc96146ccd139db3b46294ba239d7" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img709cc96146ccd139db3b46294ba239d7" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;709cc96146ccd139db3b46294ba239d7&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;709cc96146ccd139db3b46294ba239d7&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;709cc96146ccd139db3b46294ba239d7&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre709cc96146ccd139db3b46294ba239d7">@startuml

class Метрики

namespace Сеть.ожидание #DDDDDD {
    .Метрики &lt;|-- Пользователь
    Встреча o-- Пользователь

    .Метрики &lt;|- Встреча
}

namespace Сеть.действующий {
  Сеть.ожидание.Пользователь &lt;|- Пользователь
  .Метрики &lt;|-- Пользователь

  Сеть.ожидание.Встреча o-- Пользователь
}

Метрики &lt;|-- Сеть.завершенный.Пользователь

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="564" height="356" class="scale" src="../imgw/dark-709cc96146ccd139db3b46294ba239d7.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
<p></p>
There won&#39;t be any difference between namespaces and packages anymore: both keywords are now synonymous. 
<p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="0d2504841361d7da"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish11 - incontent_11 -->
<span id="ezoic-pub-ad-placeholder-194"></span><!-- ezoic_pub_ad_placeholder-194-incontent_11-234x60-194-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-194-incontent_11-468x60-194-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-194-incontent_11-728x90-194-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-194-incontent_11-970x90-194-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish11 - incontent_11 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#24"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#24"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#24"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Настройка создания пространств имён</h2>
<p></p>
Вы можете задать другой разделитель (не точку) используя команду:
<ul>
<li><code class="cod">set namespaceSeparator символыРазделителя</code>.</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msge452fa75f7599d298d357d2137e152d6" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imge452fa75f7599d298d357d2137e152d6" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;e452fa75f7599d298d357d2137e152d6&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;e452fa75f7599d298d357d2137e152d6&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;e452fa75f7599d298d357d2137e152d6&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pree452fa75f7599d298d357d2137e152d6">@startuml

set namespaceSeparator ::
class X1::X2::foo {
  some info
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="166" height="198" class="scale" src="../imgw/dark-e452fa75f7599d298d357d2137e152d6.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
также Вы можете отключить автоматическое создание пакетов используя команду:
<ul>
<li><code class="cod">set namespaceSeparator none</code>.</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg2f5aa57ab85a69d372111b856d18697c" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img2f5aa57ab85a69d372111b856d18697c" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;2f5aa57ab85a69d372111b856d18697c&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;2f5aa57ab85a69d372111b856d18697c&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;2f5aa57ab85a69d372111b856d18697c&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre2f5aa57ab85a69d372111b856d18697c">@startuml

set namespaceSeparator none
class X1.X2.foo {
  some info
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="112" height="85" class="scale" src="../imgw/dark-2f5aa57ab85a69d372111b856d18697c.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="8b64d7547fa4f699"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#25"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#25"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#25"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Lollipop интерфейс</h2>
<p></p>
<p></p>
Вы можете задвать интерфейсы в виде &#34;lollipop&#34; для классов, используя следующий синтаксис:
<ul>
<li><code class="cod">bar ()- foo</code></li>
<li><code class="cod">bar ()-- foo</code></li>
<li><code class="cod">foo -() bar</code></li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgac105007c57864b3e0763f484b171dc4" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgac105007c57864b3e0763f484b171dc4" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;ac105007c57864b3e0763f484b171dc4&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;ac105007c57864b3e0763f484b171dc4&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;ac105007c57864b3e0763f484b171dc4&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preac105007c57864b3e0763f484b171dc4">@startuml
class foo
bar ()- foo
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="114" height="61" class="scale" src="../imgw/dark-ac105007c57864b3e0763f484b171dc4.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="5a6e75f1261e3d91"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish12 - incontent_12 -->
<span id="ezoic-pub-ad-placeholder-195"></span><!-- ezoic_pub_ad_placeholder-195-incontent_12-234x60-195-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-195-incontent_12-468x60-195-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-195-incontent_12-728x90-195-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-195-incontent_12-970x90-195-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish12 - incontent_12 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#26"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#26"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#26"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Изменение направления стрелок</h2>
<p></p>
По умолчанию, связи между элементами задаются при помощи двух тире <code class="cod">--</code> для сплошных линий или при помощи двух точек <code class="cod">..</code> для пунктирных линий и ориентированны вертикально. Можно указать, что связь необходимо изобразить горизонтально, для этого необходимо использовать одиночное тире <code class="cod">-</code> для сплошной линии или одну точку <code class="cod">.</code> для штриховой линии.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga335c52f33e267127e6686dde9ce2674" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga335c52f33e267127e6686dde9ce2674" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a335c52f33e267127e6686dde9ce2674&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a335c52f33e267127e6686dde9ce2674&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a335c52f33e267127e6686dde9ce2674&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea335c52f33e267127e6686dde9ce2674">@startuml
Room o- Student
Room *-- Chair
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="198" height="169" class="scale" src="../imgw/dark-a335c52f33e267127e6686dde9ce2674.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Изменить направление стрелки можно, переместив символ окончания стрелки на другую сторону:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga8af1c01ffe4fd06296140dd212a12b8" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga8af1c01ffe4fd06296140dd212a12b8" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a8af1c01ffe4fd06296140dd212a12b8&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a8af1c01ffe4fd06296140dd212a12b8&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a8af1c01ffe4fd06296140dd212a12b8&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea8af1c01ffe4fd06296140dd212a12b8">@startuml
Student .o Room
Chair ..* Room
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="198" height="169" class="scale" src="../imgw/dark-a8af1c01ffe4fd06296140dd212a12b8.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Можно управлять направлением связи добавляя ключевые слова <code class="cod">left</code>, <code class="cod">right</code>, <code class="cod">up</code>
или <code class="cod">down</code> внутрь стрелки:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg95eec6ca7ebd9f0cf73c0acbf49a2614" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img95eec6ca7ebd9f0cf73c0acbf49a2614" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;95eec6ca7ebd9f0cf73c0acbf49a2614&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;95eec6ca7ebd9f0cf73c0acbf49a2614&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;95eec6ca7ebd9f0cf73c0acbf49a2614&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre95eec6ca7ebd9f0cf73c0acbf49a2614">@startuml
Пользователь -left-&gt; Лево
Пользователь -right-&gt; Право
Пользователь -up-&gt; Верх
Пользователь -down-&gt; Низ
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="345" height="277" class="scale" src="../imgw/dark-95eec6ca7ebd9f0cf73c0acbf49a2614.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Можно использовать более короткий синтаксис используя только первый символ указанных выше ключевых слов, например <code class="cod">-d-</code> или <code class="cod">-do-</code> вместо полного слова <code class="cod">-down-</code>.
<p></p>
Правда злоупотреблять такой короткой записью не стоит, так как <em>GraphViz</em> обычно дает более хороший результат, когда такая короткая запись НЕ используется.
<p></p>
И наконец, можно поменять все направления местами используя ключевое слово <a href="use-case-diagram.html#d551e48d272b2b07"><code class="cod">left to right direction</code></a>. Для этого можно сравнить предыдущую диаграмму с диаграммой, представленной ниже: 
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg312f4433a4a27b0643c1fe47ce9ee665" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img312f4433a4a27b0643c1fe47ce9ee665" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;312f4433a4a27b0643c1fe47ce9ee665&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;312f4433a4a27b0643c1fe47ce9ee665&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;312f4433a4a27b0643c1fe47ce9ee665&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre312f4433a4a27b0643c1fe47ce9ee665">@startuml
left to right direction
Пользователь -left-&gt; Лево
Пользователь -right-&gt; Право
Пользователь -up-&gt; Верх
Пользователь -down-&gt; Низ
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="376" height="227" class="scale" src="../imgw/dark-312f4433a4a27b0643c1fe47ce9ee665.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="fbbc0504d940020e"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#27"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#27"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#27"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Ассоциация классов</h2>
<p></p>
Вы можете задать <em>ассоциацию класса</em> после того, как была задана связь между двумя классами, как в примере:
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb25efbc507617923ddfc5e95e02508b0" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb25efbc507617923ddfc5e95e02508b0" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b25efbc507617923ddfc5e95e02508b0&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b25efbc507617923ddfc5e95e02508b0&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b25efbc507617923ddfc5e95e02508b0&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb25efbc507617923ddfc5e95e02508b0">@startuml
class Student {
  Name
}
Student &#34;0..*&#34; - &#34;1..*&#34; Course
(Student, Course) .. Enrollment

class Enrollment {
  drop()
  cancel()
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="246" height="222" class="scale" src="../imgw/dark-b25efbc507617923ddfc5e95e02508b0.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Вы можете задать это в другом направлении:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgfd8a644e2f6ce6d083a8967329f69b7b" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgfd8a644e2f6ce6d083a8967329f69b7b" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;fd8a644e2f6ce6d083a8967329f69b7b&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;fd8a644e2f6ce6d083a8967329f69b7b&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;fd8a644e2f6ce6d083a8967329f69b7b&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prefd8a644e2f6ce6d083a8967329f69b7b">@startuml
class Student {
  Name
}
Student &#34;0..*&#34; -- &#34;1..*&#34; Course
(Student, Course) . Enrollment

class Enrollment {
  drop()
  cancel()
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="190" height="330" class="scale" src="../imgw/dark-fd8a644e2f6ce6d083a8967329f69b7b.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<a style="position:relative;top:-38px;" name="43980c266e3ad62c"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish13 - incontent_13 -->
<span id="ezoic-pub-ad-placeholder-196"></span><!-- ezoic_pub_ad_placeholder-196-incontent_13-234x60-196-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-196-incontent_13-468x60-196-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-196-incontent_13-728x90-196-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-196-incontent_13-970x90-196-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish13 - incontent_13 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#28"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#28"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#28"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Ассоциация в одном и том же классе</h2>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga68dad30df232644b7d71dcbbe6492a2" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga68dad30df232644b7d71dcbbe6492a2" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a68dad30df232644b7d71dcbbe6492a2&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a68dad30df232644b7d71dcbbe6492a2&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a68dad30df232644b7d71dcbbe6492a2&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea68dad30df232644b7d71dcbbe6492a2">@startuml
class Station {
    +name: string
}

class StationCrossing {
    +cost: TimeInterval
}

&lt;&gt; diamond

StationCrossing . diamond
diamond - &#34;from 0..*&#34; Station
diamond - &#34;to 0..* &#34; Station
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="348" height="84" class="scale" src="../imgw/dark-a68dad30df232644b7d71dcbbe6492a2.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="http://wiki.plantuml.net/site/incubation#associations">Incubation: Associations</a>]</em>
<a style="position:relative;top:-38px;" name="7aa53dbdfc2137bf"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#29"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#29"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#29"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Параметры отображения</h2>
<p></p>
Вы можете использовать команду <a href="https://plantuml.com/ru-dark/skinparam"><code class="cod">skinparam</code></a> для глобального изменения шрифтов и цветов различных элементов диаграммы.
<p></p>
Вы можете использовать данную команду :
<ul>
<li>При определении диаграммы, как любую другую команду,</li>
<li>При <a href="preprocessing.html">подключении файла</a>,</li>
<li>В конфигурационном файле, указанном в <a href="https://plantuml.com/ru-dark/command-line">командной строке</a> или в <a href="https://plantuml.com/ru-dark/ant-task">задании ANT</a>.</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg75dc32e2ed035e72c10cdf16ffb8456b" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img75dc32e2ed035e72c10cdf16ffb8456b" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;75dc32e2ed035e72c10cdf16ffb8456b&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;75dc32e2ed035e72c10cdf16ffb8456b&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;75dc32e2ed035e72c10cdf16ffb8456b&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre75dc32e2ed035e72c10cdf16ffb8456b">@startuml

&#39; задаем параметры для всех классов по умолчанию
skinparam class {
  &#39; задаем светлозеленый цвет для фона классов по умолчанию
  BackgroundColor LightGreen
  &#39; задаем синий цвет для связей классов по умолчанию
  ArrowColor      Blue
  &#39; задаем красный цвет для контуров классов по умолчанию
  BorderColor     Red
}

&#39; задаем цвет кружочков внутри элементов по умолцанию
skinparam stereotypeCBackgroundColor Magenta

Class01 &#34;к одному&#34; *-- &#34;от многих&#34; Class02 : композиция

Class03 o-- Class04 : агрегация

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="256" height="187" class="scale" src="../imgw/dark-75dc32e2ed035e72c10cdf16ffb8456b.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="89a4c54a52d87715"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish14 - incontent_14 -->
<span id="ezoic-pub-ad-placeholder-197"></span><!-- ezoic_pub_ad_placeholder-197-incontent_14-234x60-197-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-197-incontent_14-468x60-197-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-197-incontent_14-728x90-197-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-197-incontent_14-970x90-197-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish14 - incontent_14 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#30"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#30"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#30"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Параметры отображения для шаблонов</h2>
<p></p>
Расширяя пример выше, можно задавать специальные параметры для определенных шаблонов (и применять эти щаблоны затем к тем или иным классам).
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msga79ea696291b110b164f76bfe39cceeb" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imga79ea696291b110b164f76bfe39cceeb" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;a79ea696291b110b164f76bfe39cceeb&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;a79ea696291b110b164f76bfe39cceeb&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;a79ea696291b110b164f76bfe39cceeb&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prea79ea696291b110b164f76bfe39cceeb">@startuml

&#39; задаем параметры для всех классов по умолчанию
skinparam class {
  &#39; задаем светлозеленый цвет для фона классов по умолчанию
  BackgroundColor LightGreen
  &#39; задаем синий цвет для связей классов по умолчанию
  ArrowColor      Blue
  &#39; задаем красный цвет для контуров классов по умолчанию
  BorderColor     Red
  &#39; задаем зеленый цвет для фона классов, для которых шаблоном является Foo
  BackgroundColor&lt;&lt;Foo&gt;&gt; Green
  &#39; задаем оранжевый цвет для контуров классов, для которых шаблоном является Foo
  BorderColor&lt;&lt;Foo&gt;&gt; Orange
}

&#39; задаем розовый цвет кружочков внутри элементов по умолцанию
skinparam stereotypeCBackgroundColor Magenta
&#39; задаем серый цвет кружочков внутри элементов, для которых шаблоном является Foo
skinparam stereotypeCBackgroundColor&lt;&lt; Foo &gt;&gt; Gray

Class01 &lt;&lt;Foo&gt;&gt;
Class03 &lt;&lt;Foo&gt;&gt;

Class01 &#34;к одному&#34; *-- &#34;от многих&#34; Class02 : композиция

Class03 o-- Class04 : агрегация

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="250" height="262" class="scale" src="../imgw/dark-a79ea696291b110b164f76bfe39cceeb.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<center><div class="tago">WARNING</div> <b>This translation need to be updated.</b> <div class="tago">WARNING</div></center>
<a style="position:relative;top:-38px;" name="cfe920390b501516"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#31"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#31"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#31"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Цветовой градиент</h2>
<p></p>
<p></p>
Можно объявить индивидуальный цвет для классов или примечаний, используя символ <code class="cod">#</code>.
<p></p>
Можно использовать как <a href="https://plantuml.com/ru-dark/color">стандартные названия цветов</a>, так и их RGB-коды в различных вариантах записи.
<p></p>
Так же, возможно задания градиента для фона, задав вместо одного цвета пару цветов и разделив их одним из символов градиента (разные символы отвечают за разные направления градиента):
<ul>
<li><code class="cod">|</code>,</li>
<li><code class="cod">/</code>,</li>
<li><code class="cod">\</code>,</li>
<li><code class="cod">-</code></li>
</ul>
<p></p>
Для примера:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg4c82cb15a32df545c7f9557449fa7b6b" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img4c82cb15a32df545c7f9557449fa7b6b" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;4c82cb15a32df545c7f9557449fa7b6b&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;4c82cb15a32df545c7f9557449fa7b6b&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;4c82cb15a32df545c7f9557449fa7b6b&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre4c82cb15a32df545c7f9557449fa7b6b">@startuml

skinparam backgroundcolor AntiqueWhite/Gold
skinparam classBackgroundColor Wheat|CornflowerBlue

class Foo #red-lightgreen
note left of Foo #lightblue\9932CC
  это моя заметка
  об этом классе
end note

package Пример #GreenYellow/LightGoldenRodYellow {
  class Заглушка
}

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="367" height="112" class="scale" src="../imgw/dark-4c82cb15a32df545c7f9557449fa7b6b.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="c08f8d9927fcb626"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish15 - incontent_15 -->
<span id="ezoic-pub-ad-placeholder-198"></span><!-- ezoic_pub_ad_placeholder-198-incontent_15-234x60-198-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-198-incontent_15-468x60-198-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-198-incontent_15-728x90-198-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-198-incontent_15-970x90-198-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish15 - incontent_15 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#32"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#32"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#32"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Помощь в расположении классов</h2>
<p></p>
Иногда диаграмма, формируемая по умолчанию выходит не совсем удачной...
<p></p>
Вы можете объединять несколько классов вместе используя ключевое слово <code class="cod">together</code>, тогда рендер постарается расположить объединенные таким образом классы рядом друг с другом так, как если бы они находились в одном пакете.
<p></p>
Для этих же целей можно связать классы между собой связями и скрыть эти связи установив им соответствующее свойство <code class="cod">hidden</code>. Тогда рендер также постарается расположить такие связанные классы вместе (причем длинной такой скрытой связи можно регулировать расстояние между классами, а направлением связи можно регулировать взаимное расположение).
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb2ec9a2ee801a066c3b8965b4fdf155f" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb2ec9a2ee801a066c3b8965b4fdf155f" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b2ec9a2ee801a066c3b8965b4fdf155f&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b2ec9a2ee801a066c3b8965b4fdf155f&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b2ec9a2ee801a066c3b8965b4fdf155f&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb2ec9a2ee801a066c3b8965b4fdf155f">@startuml

class Bar1
class Bar2
together {
  class Together1
  class Together2
  class Together3
}

Together2 -[hidden]--&gt; Bar1
Bar1      -[hidden]&gt;   Bar2

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="377" height="230" class="scale" src="../imgw/dark-b2ec9a2ee801a066c3b8965b4fdf155f.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="fc6a662f75b53104"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#33"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#33"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#33"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Разделение больших файлов</h2>
<p></p>
Иногда могут получиться очень большие файлы изображений.
<p></p>
Чтобы разделить создаваемое изображение на несколько файлов (страниц), Вы можете использовать команду <code class="cod">page (hpages)x(vpages)</code>, где:
<ul>
<li><code class="cod">hpages</code> - это число горизонтальных страниц,</li>
<li><code class="cod">vpages</code> - это число вертикальных страниц..</li>
</ul>
<p></p>
С этой командой также можно использовать команды <code class="cod">skinparam параметр значение</code> для настроек цвета разделённых страниц, и размеров их границы (смотри пример).
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb76e51585ee36a0ea77640043ab4cace" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb76e51585ee36a0ea77640043ab4cace" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b76e51585ee36a0ea77640043ab4cace&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b76e51585ee36a0ea77640043ab4cace&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b76e51585ee36a0ea77640043ab4cace&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb76e51585ee36a0ea77640043ab4cace">@startuml
&#39; Разделение на 4 страницы
page 2x2
skinparam pageMargin 10
skinparam pageExternalColor gray
skinparam pageBorderColor black

class Метрики

namespace Сеть.ожидание #DDDDDD {
    .Метрики &lt;|-- Пользователь
    Встреча o-- Пользователь

    .Метрики &lt;|- Встреча
}

namespace Сеть.действующий {
  Сеть.ожидание.Пользователь &lt;|- Пользователь
  .Метрики &lt;|-- Пользователь

  Сеть.ожидание.Встреча o-- Пользователь
}

Метрики &lt;|-- Сеть.завершенный.Пользователь

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="564" height="356" class="scale" src="../imgw/dark-b76e51585ee36a0ea77640043ab4cace.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="6e0d446ea2c5bf82"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish16 - incontent_16 -->
<span id="ezoic-pub-ad-placeholder-199"></span><!-- ezoic_pub_ad_placeholder-199-incontent_16-234x60-199-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-199-incontent_16-468x60-199-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-199-incontent_16-728x90-199-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-199-incontent_16-970x90-199-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish16 - incontent_16 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#34"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#34"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#34"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Наследование и Реализация (Имплементация)</h2>
<p></p>
Вы можете использовать ключевые слова <code class="cod">extends</code> и <code class="cod">implements</code> для содания связей наследования и реализации (имплементации).
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgc67ae96bf8764499b822639d3feae97e" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgc67ae96bf8764499b822639d3feae97e" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;c67ae96bf8764499b822639d3feae97e&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;c67ae96bf8764499b822639d3feae97e&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;c67ae96bf8764499b822639d3feae97e&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="prec67ae96bf8764499b822639d3feae97e">@startuml
class ArrayList implements List
class ArrayList extends AbstractList
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="208" height="169" class="scale" src="../imgw/dark-c67ae96bf8764499b822639d3feae97e.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="4ffca7d13182195f"></a>
</p><div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#35"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#35"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#35"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Изменение цвета и стиля связей или стрелок (синтаксис квадратных скобочек)</h2>
<p></p>
Есть два разных синтаксиса для изменения цвета и стиля связей и стрелок. Возможности этого синтаксиса квадратных скобочек несколько больше, чем возможности встраиваемого синтаксиса (подробнее о нем будет ниже), так как здесь можно полностю скрывать связи, а также задавать их толщину.
<p></p>
<p></p>
<h3>Стиль линий</h3>
<p></p>
<p></p>
Можно задавать следующие стили для связей: <code class="cod">bold</code> - жирный, <code class="cod">dashed</code> - штриховой, <code class="cod">dotted</code> - пунктирный, <code class="cod">hidden</code> - скрытый, <code class="cod">plain</code> - непрерывный:
<p></p>
<ul>
<li>пример для каждого стиля без заметок на связях:</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg5d96894001cfff571b777a089dd0152d" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img5d96894001cfff571b777a089dd0152d" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;5d96894001cfff571b777a089dd0152d&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;5d96894001cfff571b777a089dd0152d&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;5d96894001cfff571b777a089dd0152d&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre5d96894001cfff571b777a089dd0152d">@startuml
title Синтаксис квадратных скобочек без заметок
class foo
class bar
bar1 : [bold]  
bar2 : [dashed]
bar3 : [dotted]
bar4 : [hidden]
bar5 : [plain] 

foo --&gt; bar
foo -[bold]-&gt; bar1
foo -[dashed]-&gt; bar2
foo -[dotted]-&gt; bar3
foo -[hidden]-&gt; bar4
foo -[plain]-&gt; bar5
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="554" height="225" class="scale" src="../imgw/dark-5d96894001cfff571b777a089dd0152d.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<ul>
<li>пример для каждого стиля с заметками на связях:</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg5cc35fdb2237a66c8209e3889235afbd" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img5cc35fdb2237a66c8209e3889235afbd" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;5cc35fdb2237a66c8209e3889235afbd&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;5cc35fdb2237a66c8209e3889235afbd&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;5cc35fdb2237a66c8209e3889235afbd&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre5cc35fdb2237a66c8209e3889235afbd">@startuml
title Синтаксис квадратных скобочек с заметками
class foo
class bar
bar1 : [bold]  
bar2 : [dashed]
bar3 : [dotted]
bar4 : [hidden]
bar5 : [plain] 

foo --&gt; bar          : по умолчанию
foo -[bold]-&gt; bar1   : [жирный]
foo -[dashed]-&gt; bar2 : [штриховой]
foo -[dotted]-&gt; bar3 : [пунктирный]
foo -[hidden]-&gt; bar4 : [скрытый]
foo -[plain]-&gt; bar5  : [непрерывный]

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="637" height="243" class="scale" src="../imgw/dark-5cc35fdb2237a66c8209e3889235afbd.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Adapted from <a href="https://forum.plantuml.net/4181/how-change-width-line-in-a-relationship-between-two-classes?show=4232#a4232">QA-4181</a>]</em>
<p></p>
<h3>Цвет линий</h3>
<p></p>
Можно задавать <a href="https://plantuml.com/ru-dark/color">цвет</a> для связей:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgcfcce7a7b78f61aeb4571590e4e72277" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgcfcce7a7b78f61aeb4571590e4e72277" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;cfcce7a7b78f61aeb4571590e4e72277&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;cfcce7a7b78f61aeb4571590e4e72277&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;cfcce7a7b78f61aeb4571590e4e72277&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="precfcce7a7b78f61aeb4571590e4e72277">@startuml
title Задание цвета при помощи синтаксиса квадратных скобочек
class foo
class bar
bar1 : [#red]
bar2 : [#green]
bar3 : [#blue]

foo --&gt; bar            : обычный
foo -[#red]-&gt; bar1     : [красный]
foo -[#green]-&gt; bar2   : [зеленый]
foo -[#blue]-&gt; bar3    : [синий]
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="465" height="243" class="scale" src="../imgw/dark-cfcce7a7b78f61aeb4571590e4e72277.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<h3>Толщина линий</h3>
<p></p>
Можно задать толщину связей:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgd06322d81633604cab3cddc953d095a7" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgd06322d81633604cab3cddc953d095a7" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;d06322d81633604cab3cddc953d095a7&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;d06322d81633604cab3cddc953d095a7&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;d06322d81633604cab3cddc953d095a7&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pred06322d81633604cab3cddc953d095a7">@startuml
title Задание толщины при помощи синтаксиса квадратных скобочек
class foo
class bar
bar1 : [thickness=1]
bar2 : [thickness=2]
bar3 : [thickness=4]
bar4 : [thickness=8]
bar5 : [thickness=16]

foo --&gt; bar                 : обычный
foo -[thickness=1]-&gt; bar1   : [1]
foo -[thickness=2]-&gt; bar2   : [2]
foo -[thickness=4]-&gt; bar3   : [4]
foo -[thickness=8]-&gt; bar4   : [8]
foo -[thickness=16]-&gt; bar5  : [16]

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="724" height="243" class="scale" src="../imgw/dark-d06322d81633604cab3cddc953d095a7.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/4949">QA-4949</a>]</em>
<p></p>
<h3>Смешивание различных парметров</h3>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg4214e4feecc5883e6691b16b707103f9" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img4214e4feecc5883e6691b16b707103f9" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;4214e4feecc5883e6691b16b707103f9&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;4214e4feecc5883e6691b16b707103f9&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;4214e4feecc5883e6691b16b707103f9&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre4214e4feecc5883e6691b16b707103f9">@startuml
title Смешивание параметров при использовании синтаксиса квадратных скобочек
class foo
class bar
bar1 : [#red,thickness=1]
bar2 : [#red,dashed,thickness=2]
bar3 : [#green,dashed,thickness=4]
bar4 : [#blue,dotted,thickness=8]
bar5 : [#lightblue,plain,thickness=16]

foo --&gt; bar                                  : обычный
foo -[#red,thickness=1]-&gt; bar1               : [#red,1]
foo -[#red,dashed,thickness=2]-&gt; bar2        : [#red,dashed,2]
foo -[#green,dashed,thickness=4]-&gt; bar3      : [#green,dashed,4]
foo -[#blue,dotted,thickness=8]-&gt; bar4       : [blue,dotted,8]
foo -[#lightblue,plain,thickness=16]-&gt; bar5  : [lightblue,plain,16]
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="1124" height="243" class="scale" src="../imgw/dark-4214e4feecc5883e6691b16b707103f9.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
<a style="position:relative;top:-38px;" name="8dfb3b05fc895d2b"></a>
</p><div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish17 - incontent_17 -->
<span id="ezoic-pub-ad-placeholder-600"></span><!-- ezoic_pub_ad_placeholder-600-incontent_17-234x60-600-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-600-incontent_17-468x60-600-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-600-incontent_17-728x90-600-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-600-incontent_17-970x90-600-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish17 - incontent_17 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#36"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#36"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#36"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Изменение цвета и стиля связей или стрелок (встраиваемый синтаксис)</h2>
<p></p>
Возможности этого синтаксиса немного меньше, чем синтаксиса квадратных скобочек, который был рассмотрен выше. В частности, здесь нельзя задавать толщину линий, а также нельзя полностью скрывать линии.
<p></p>
Вы можете изменить <a href="https://plantuml.com/ru-dark/color">цвет</a> или стиль индивидуально для каждой связи или стрелочки используя следующий встраиваемый синтаксис:
<p></p>
  <code class="cod">#color;line.[bold|dashed|dotted];text:color</code>
<p></p>
где:
<p></p>
<ul>
<li><code class="cod">#</code> - начало режима конфигурирования,</li>
<li><code class="cod">color</code> - <a href="https://plantuml.com/ru-dark/color">цвет</a> стрелки,</li>
<li><code class="cod">;</code> - разделитель между конфигурационными параметрами,</li>
<li><code class="cod">line.type</code> - тип линии. <code class="cod">type</code> может принимать значения: <code class="cod">bold</code> - жирная, <code class="cod">dashed</code> - штриховая, <code class="cod">dotted</code> - пунктирная,</li>
<li><code class="cod">text:color</code> - <a href="https://plantuml.com/ru-dark/color">цвет</a> текста заметки на линии.</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg6af0b9014085766148880eda94660608" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img6af0b9014085766148880eda94660608" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;6af0b9014085766148880eda94660608&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;6af0b9014085766148880eda94660608&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;6af0b9014085766148880eda94660608&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre6af0b9014085766148880eda94660608">@startuml
class foo
foo --&gt; bar : обычная
foo --&gt; bar1 #line:red;line.bold;text:red  : красная, жирный
foo --&gt; bar2 #green;line.dashed;text:green : зеленая, штриховой
foo --&gt; bar3 #blue;line.dotted;text:blue   : синяя, пунктирный
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="512" height="187" class="scale" src="../imgw/dark-6af0b9014085766148880eda94660608.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
Пример установки одних и тех же параметров при помощи двух различных синтаксисов можно посмотреть на примере ниже:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg3fe46d22c82a9e67b8f8dd356c74a8cc" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img3fe46d22c82a9e67b8f8dd356c74a8cc" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;3fe46d22c82a9e67b8f8dd356c74a8cc&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;3fe46d22c82a9e67b8f8dd356c74a8cc&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;3fe46d22c82a9e67b8f8dd356c74a8cc&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre3fe46d22c82a9e67b8f8dd356c74a8cc">@startuml

class foo1
class foo2

foo1 -[#red,bold]&gt;      bar1
foo1 -[#blue,dashed]-&gt;  bar2  : синтаксис квадратных скобочек

foo2 -&gt;  bar3  #red;line.bold
foo2 --&gt; bar4  #blue;line.dashed  : встраиваемый синтаксис  

@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="429" height="187" class="scale" src="../imgw/dark-3fe46d22c82a9e67b8f8dd356c74a8cc.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
<em>[See similar feature on <a href="deployment-diagram.html#0b2e57c3d4eafdda">deployment</a>]</em>
<a style="position:relative;top:-38px;" name="fab0ecfcfd0af288"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#37"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#37"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#37"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Изменение цвета и стиля класса (встраиваемый синтаксис)</h2>
<p></p>
Вы можете изменить <a href="https://plantuml.com/ru-dark/color">цвет</a> или стиль индивидуально для каждой стрелочки используя следующие 2 варианта встраиваемого синтаксиса:
<p></p>
  1. <code class="cod">#color ##[style]color</code> 
<p></p>
где:
<ul>
<li><code class="cod">#color</code> - цвет фона элемента,</li>
<li><code class="cod">##[style]color</code> - стиль отображения и цвет линий элемента.</li>
</ul>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgda9a739a7eed7a7ea90d39bb5230acef" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgda9a739a7eed7a7ea90d39bb5230acef" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;da9a739a7eed7a7ea90d39bb5230acef&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;da9a739a7eed7a7ea90d39bb5230acef&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;da9a739a7eed7a7ea90d39bb5230acef&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preda9a739a7eed7a7ea90d39bb5230acef">@startuml
abstract   abstract
annotation annotation #pink ##[bold]red
class      class      #palegreen ##[dashed]green
interface  interface  #aliceblue ##[dotted]blue
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="230" height="169" class="scale" src="../imgw/dark-da9a739a7eed7a7ea90d39bb5230acef.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/1487">QA-1487</a>]</em>
<p></p>
  2. <code class="cod">#[color|back:color];header:color;line:color;line.[bold|dashed|dotted];text:color</code>
<p></p>
где:
<ul>
<li><code class="cod">#</code> - начало режима конфигурирования,</li>
<li><code class="cod">color</code> или <code class="cod">back:color</code> - основной цвет фона,</li>
<li><code class="cod">;</code> - разделитель между конфигурационными параметрами,</li>
<li><code class="cod">header:color</code> - дополнительный цвет фона для заголовка,</li>
<li><code class="cod">line:color</code> - цвет для контуров элемента,</li>
<li><code class="cod">line.[type]</code> - тип линий, из которых состоит контур элемента (<code class="cod">type</code> может принимать значения: <code class="cod">bold</code> - жирный, <code class="cod">dashed</code> - штриховой, <code class="cod">dotted</code> - пунктирный),</li>
<li><code class="cod">text:color</code> - цвет текста.</li>
</ul>
<p></p>
Как уже упоминалось выше, можно задавать градиенты для фона, если указывать вместо одного цвета два разных цвета, разделяя их знаками <code class="cod">\</code>, <code class="cod">|</code>, <code class="cod">/</code> или <code class="cod">-</code> (они отвечают за разное направление градиента). Например: <code class="cod">header:blue/red</code> или <code class="cod">back:DD0000-00FFFF</code>.
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb6a64854583dacd58da4f818ce81e898" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb6a64854583dacd58da4f818ce81e898" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b6a64854583dacd58da4f818ce81e898&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b6a64854583dacd58da4f818ce81e898&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b6a64854583dacd58da4f818ce81e898&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb6a64854583dacd58da4f818ce81e898">@startuml
abstract   abstract
annotation annotation #pink;line:red;line.bold;text:red
class      class      #palegreen;header:red;line:green;line.dashed;text:green
interface  interface  #aliceblue;line:blue;line.dotted;text:blue
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="230" height="169" class="scale" src="../imgw/dark-b6a64854583dacd58da4f818ce81e898.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p></p>
Еще один пример:
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg1b873439f6619434758055686f14d6c2" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img1b873439f6619434758055686f14d6c2" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;1b873439f6619434758055686f14d6c2&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;1b873439f6619434758055686f14d6c2&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;1b873439f6619434758055686f14d6c2&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre1b873439f6619434758055686f14d6c2">@startuml
class bar #line:green;back:lightblue
class bar2 #lightblue;line:green

class Foo1 #back:red;line:00FFFF
class FooDashed #line.dashed:blue
class FooDotted #line.dotted:blue
class FooBold #line.bold
class Demo1 #back:lightgreen|yellow;header:blue/red
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="373" height="277" class="scale" src="../imgw/dark-1b873439f6619434758055686f14d6c2.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/3770">QA-3770</a>]</em>
<a style="position:relative;top:-38px;" name="4829cb0f596c9350"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish18 - incontent_18 -->
<span id="ezoic-pub-ad-placeholder-601"></span><!-- ezoic_pub_ad_placeholder-601-incontent_18-234x60-601-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-601-incontent_18-468x60-601-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-601-incontent_18-728x90-601-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-601-incontent_18-970x90-601-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish18 - incontent_18 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#38"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#38"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#38"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Связи от/на члены класса</h2>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgdd020a6ad9cf58c7c061dda66bf8a963" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgdd020a6ad9cf58c7c061dda66bf8a963" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;dd020a6ad9cf58c7c061dda66bf8a963&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;dd020a6ad9cf58c7c061dda66bf8a963&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;dd020a6ad9cf58c7c061dda66bf8a963&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="predd020a6ad9cf58c7c061dda66bf8a963">@startuml
class Foo {
+ field1
+ field2
}

class Bar {
+ field3
+ field4
}

Foo::field1 --&gt; Bar::field3 : foo
Foo::field2 --&gt; Bar::field4 : bar
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="202" height="265" class="scale" src="../imgw/dark-dd020a6ad9cf58c7c061dda66bf8a963.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/3636">QA-3636</a>]</em>
<p></p>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg934843614ab32f4bc2268652bb599c6b" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img934843614ab32f4bc2268652bb599c6b" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;934843614ab32f4bc2268652bb599c6b&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;934843614ab32f4bc2268652bb599c6b&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;934843614ab32f4bc2268652bb599c6b&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre934843614ab32f4bc2268652bb599c6b">@startuml
left to right direction

class User {
  id : INTEGER
  ..
  other_id : INTEGER
}

class Email {
  id : INTEGER
  ..
  user_id : INTEGER
  address : INTEGER
}

User::id *-- Email::user_id
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="360" height="120" class="scale" src="../imgw/dark-934843614ab32f4bc2268652bb599c6b.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/5261">QA-5261</a>]</em>
<a style="position:relative;top:-38px;" name="49b7759afaffc066"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#39"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#39"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#39"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Группировка стрелок, ведущих к одному элементу</h2>
<p></p>
Вы можете включить объединение окончания стрелок, сходящихся к одному элементу, используя команду <code class="cod">skinparam groupInheritance X</code>, где X - это минимальное количество стрелок, при котором будет включаться данный режим.
<p></p>
<h3>Установка параметра в значение 1 (без группировки)</h3>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msge2cca002d49b986caca1d83218c502f6" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imge2cca002d49b986caca1d83218c502f6" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;e2cca002d49b986caca1d83218c502f6&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;e2cca002d49b986caca1d83218c502f6&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;e2cca002d49b986caca1d83218c502f6&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pree2cca002d49b986caca1d83218c502f6">@startuml
skinparam groupInheritance 1

A1 &lt;|-- B1

A2 &lt;|-- B2
A2 &lt;|-- C2

A3 &lt;|-- B3
A3 &lt;|-- C3
A3 &lt;|-- D3

A4 &lt;|-- B4
A4 &lt;|-- C4
A4 &lt;|-- D4
A4 &lt;|-- E4
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="826" height="169" class="scale" src="../imgw/dark-e2cca002d49b986caca1d83218c502f6.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<h3>Установка параметра в значение 2 (группировка если 2 и более)</h3>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg5768232f069c92ba3b5bd6556d07bf8d" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img5768232f069c92ba3b5bd6556d07bf8d" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;5768232f069c92ba3b5bd6556d07bf8d&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;5768232f069c92ba3b5bd6556d07bf8d&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;5768232f069c92ba3b5bd6556d07bf8d&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre5768232f069c92ba3b5bd6556d07bf8d">@startuml
skinparam groupInheritance 2

A1 &lt;|-- B1

A2 &lt;|-- B2
A2 &lt;|-- C2

A3 &lt;|-- B3
A3 &lt;|-- C3
A3 &lt;|-- D3

A4 &lt;|-- B4
A4 &lt;|-- C4
A4 &lt;|-- D4
A4 &lt;|-- E4
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="826" height="189" class="scale" src="../imgw/dark-5768232f069c92ba3b5bd6556d07bf8d.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<h3>Установка параметра в значение 3 (группировка если 3 и более)</h3>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg72d5ced365ade12444c66254a530c6f2" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img72d5ced365ade12444c66254a530c6f2" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;72d5ced365ade12444c66254a530c6f2&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;72d5ced365ade12444c66254a530c6f2&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;72d5ced365ade12444c66254a530c6f2&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre72d5ced365ade12444c66254a530c6f2">@startuml
skinparam groupInheritance 3

A1 &lt;|-- B1

A2 &lt;|-- B2
A2 &lt;|-- C2

A3 &lt;|-- B3
A3 &lt;|-- C3
A3 &lt;|-- D3

A4 &lt;|-- B4
A4 &lt;|-- C4
A4 &lt;|-- D4
A4 &lt;|-- E4
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="826" height="189" class="scale" src="../imgw/dark-72d5ced365ade12444c66254a530c6f2.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<h3>Установка параметра в значение 4 (группировка если 4 и более)</h3>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgeda220ee6ba7688d727ff18c073d8b15" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgeda220ee6ba7688d727ff18c073d8b15" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;eda220ee6ba7688d727ff18c073d8b15&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;eda220ee6ba7688d727ff18c073d8b15&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;eda220ee6ba7688d727ff18c073d8b15&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preeda220ee6ba7688d727ff18c073d8b15">@startuml
skinparam groupInheritance 4

A1 &lt;|-- B1

A2 &lt;|-- B2
A2 &lt;|-- C2

A3 &lt;|-- B3
A3 &lt;|-- C3
A3 &lt;|-- D3

A4 &lt;|-- B4
A4 &lt;|-- C4
A4 &lt;|-- D4
A4 &lt;|-- E4
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="826" height="189" class="scale" src="../imgw/dark-eda220ee6ba7688d727ff18c073d8b15.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ссылка на <a href="https://forum.plantuml.net/3193/grouping-inheritance-arrow-ends">QA-3193</a>, и дефект <a href="https://forum.plantuml.net/13532/groupinheritance-bug">QA-13532</a>]</em>
<a style="position:relative;top:-38px;" name="a3e433077b7a6be8"></a>
<div style="clear:both;min-height:110px;margin-top:10px;">

<div class="pezoic">
<!-- Ezoic - Fish19 - incontent_19 -->
<span id="ezoic-pub-ad-placeholder-602"></span><!-- ezoic_pub_ad_placeholder-602-incontent_19-234x60-602-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-602-incontent_19-468x60-602-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-602-incontent_19-728x90-602-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-602-incontent_19-970x90-602-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Fish19 - incontent_19 -->
</div>

</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#40"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#40"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#40"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Display JSON Data on Class or Object diagram</h2>
<p></p>
<h3>Simple example</h3>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg09ab23cd01ddc8e4332d303870001a86" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img09ab23cd01ddc8e4332d303870001a86" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;09ab23cd01ddc8e4332d303870001a86&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;09ab23cd01ddc8e4332d303870001a86&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;09ab23cd01ddc8e4332d303870001a86&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre09ab23cd01ddc8e4332d303870001a86">@startuml
class Class
object Object
json JSON {
   &#34;fruit&#34;:&#34;Apple&#34;,
   &#34;size&#34;:&#34;Large&#34;,
   &#34;color&#34;: [&#34;Red&#34;, &#34;Green&#34;]
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="181" height="233" class="scale" src="../imgw/dark-09ab23cd01ddc8e4332d303870001a86.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://forum.plantuml.net/15481/possible-link-elements-from-two-jsons-with-both-jsons-embeded?show=15567#c15567">QA-15481</a>]</em>
<p></p>
For another example, see on <a href="json.html#jinnkhaa7d65l0fkhfec">JSON page</a>.
<a style="position:relative;top:-38px;" name="dbeeec19b401ede6"></a>
<div style="clear:both;height:50px;">
</div>
<!--heading--><h2 class="chap"><img onclick="window.scrollTo(0,0);" title="Back to top" src="../backtop1.svg" width="20" height="20" class="backtop"/><div class="dropdown"><button class="dropbtn"><img width="16" height="16" src="../edit1.svg"/></button><div class="dropdown-content"><a href="http://alphadoc.plantuml.com/cmp/dokuwiki/ru/class-diagram#41"><img width="20" height="20" src="../dokuwiki.png"/>Edit in Dokuwiki</a><a href="http://alphadoc.plantuml.com/cmp/asciidoc/ru/class-diagram#41"><img width="20" height="20" src="../asciidoc32.png"/>Edit in Asciidoc</a><a href="http://alphadoc.plantuml.com/cmp/markdown/ru/class-diagram#41"><img width="20" height="20" src="../markdown.png"/>Edit in Markdown</a></div></div>Packages and Namespaces Enhancement</h2>
<p></p>
<em>[From V1.2023.2+, and V1.2023.5]</em>
<p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg20e3b98a6b7ebb5585ab6ad0eb812c8d" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img20e3b98a6b7ebb5585ab6ad0eb812c8d" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;20e3b98a6b7ebb5585ab6ad0eb812c8d&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;20e3b98a6b7ebb5585ab6ad0eb812c8d&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;20e3b98a6b7ebb5585ab6ad0eb812c8d&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre20e3b98a6b7ebb5585ab6ad0eb812c8d">@startuml
class A.B.C.D.Z {
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="228" height="316" class="scale" src="../imgw/dark-20e3b98a6b7ebb5585ab6ad0eb812c8d.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg2625df89c9a9306e7453ac0d6db33a4c" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img2625df89c9a9306e7453ac0d6db33a4c" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;2625df89c9a9306e7453ac0d6db33a4c&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;2625df89c9a9306e7453ac0d6db33a4c&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;2625df89c9a9306e7453ac0d6db33a4c&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre2625df89c9a9306e7453ac0d6db33a4c">@startuml
set separator none
class A.B.C.D.Z {
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="114" height="68" class="scale" src="../imgw/dark-2625df89c9a9306e7453ac0d6db33a4c.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msgb87e252c41258d89e58a062bdf8593c3" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="imgb87e252c41258d89e58a062bdf8593c3" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;b87e252c41258d89e58a062bdf8593c3&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;b87e252c41258d89e58a062bdf8593c3&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;b87e252c41258d89e58a062bdf8593c3&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="preb87e252c41258d89e58a062bdf8593c3">@startuml
!pragma useIntermediatePackages false
class A.B.C.D.Z {
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="84" height="112" class="scale" src="../imgw/dark-b87e252c41258d89e58a062bdf8593c3.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<p>
<table class="coptable" valign="top" cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td valign="top">
<div id="msg73a7b2d91d5924d4a646f2070e5ad9c9" class="msg">
🎉 Copied!
</div>
<img loading="lazy" width="16" height="16" id="img73a7b2d91d5924d4a646f2070e5ad9c9" title="Copy to clipboard" class="cop" src="../clipboard1.svg" onclick="ctc(&#39;73a7b2d91d5924d4a646f2070e5ad9c9&#39;)"/>
<br/>
<img loading="lazy" width="16" height="16" title="Edit online" class="cop" src="../edit1.svg" onclick="javascript:ljs(&#39;73a7b2d91d5924d4a646f2070e5ad9c9&#39;)"/>
</td>
<td>
<div class="mytab" onclick="javascript:ljs(&#39;73a7b2d91d5924d4a646f2070e5ad9c9&#39;)">
<div class="mycell0">
<code onmouseover="az=1" onmouseout="az=0"><pre id="pre73a7b2d91d5924d4a646f2070e5ad9c9">@startuml
set separator none
package A.B.C.D {
  class Z {
  }
}
@enduml
</pre></code>
</div>
<div class="mycell">
<img loading="lazy" width="84" height="112" class="scale" src="../imgw/dark-73a7b2d91d5924d4a646f2070e5ad9c9.png"/>
</div>
</div>
</td>
</tr>
</tbody></table>
</p><p>
</p><p></p>
<em>[Ref. <a href="https://github.com/plantuml/plantuml/issues/1352">GH-1352</a>]</em>
</td>
<td id="toctd" valign="top" style="max-width:240px;min-width:240px;">
<!--toc-->
<div id="toc">
<ul>
<li><a href="class-diagram.html#e5cec68ef9127fc4">Декларирующий элемент</a>
</li><li><a href="class-diagram.html#9dd2a6eca0c2a0e7">Взаимосвязи между классами</a>
</li><li><a href="class-diagram.html#4a705b44651caa59">Метки на взаимосвязях</a>
</li><li><a href="class-diagram.html#bd62ba9333d08763">Использование не буквенных символов</a>
</li><li><a href="class-diagram.html#090967fbee930909">Добавление методов</a>
</li><li><a href="class-diagram.html#3644720244dd6c6a">Указание видимости</a>
</li><li><a href="class-diagram.html#9fd9d25be2fbb118">Абстрактные и статические</a>
</li><li><a href="class-diagram.html#08ca680401eefe3a">Расширенное тело класса</a>
</li><li><a href="class-diagram.html#59c91a18bcc97bb0">Заметки и шаблоны</a>
</li><li><a href="class-diagram.html#23ca7846dedbb80a">Больше о заметках</a>
</li><li><a href="class-diagram.html#c909b0b5f0434a64">Создание заметки для поля данных или метода</a>
</li><li><a href="class-diagram.html#1d010d898a1fead2">Заметки на взаимосвязях</a>
</li><li><a href="class-diagram.html#a339d3559f33ad64">Абстрактные классы и интерфейсы</a>
</li><li><a href="class-diagram.html#6a8ec84e53ede3ae">Скрыть атрибуты, методы...</a>
</li><li><a href="class-diagram.html#20ec7d48c223b142">Скрытие классов</a>
</li><li><a href="class-diagram.html#3efa75742a5e3384">Удаление классов</a>
</li><li><a href="class-diagram.html#c0ef243486e3ad85">Hide, Remove or Restore tagged element or wildcard</a>
</li><li><a href="class-diagram.html#382f74cc79c4edbc">Скрытие или Удаление классов баз связей</a>
</li><li><a href="class-diagram.html#b09695ba6d76313d">Использование дженериков</a>
</li><li><a href="class-diagram.html#4b62dd14f1d33739">Определение метки</a>
</li><li><a href="class-diagram.html#27fe4eb3edbaff8f">Пакеты</a>
</li><li><a href="class-diagram.html#a05971470d7fd711">Стили пакетов</a>
</li><li><a href="class-diagram.html#13d28e8dfc702e34">Пространства имён</a>
</li><li><a href="class-diagram.html#0d2504841361d7da">Настройка создания пространств имён</a>
</li><li><a href="class-diagram.html#8b64d7547fa4f699">Lollipop интерфейс</a>
</li><li><a href="class-diagram.html#5a6e75f1261e3d91">Изменение направления стрелок</a>
</li><li><a href="class-diagram.html#fbbc0504d940020e">Ассоциация классов</a>
</li><li><a href="class-diagram.html#43980c266e3ad62c">Ассоциация в одном и том же классе</a>
</li><li><a href="class-diagram.html#7aa53dbdfc2137bf">Параметры отображения</a>
</li><li><a href="class-diagram.html#89a4c54a52d87715">Параметры отображения для шаблонов</a>
</li><li><a href="class-diagram.html#cfe920390b501516">Цветовой градиент</a>
</li><li><a href="class-diagram.html#c08f8d9927fcb626">Помощь в расположении классов</a>
</li><li><a href="class-diagram.html#fc6a662f75b53104">Разделение больших файлов</a>
</li><li><a href="class-diagram.html#6e0d446ea2c5bf82">Наследование и Реализация (Имплементация)</a>
</li><li><a href="class-diagram.html#4ffca7d13182195f">Изменение цвета и стиля связей или стрелок (синтаксис квадратных скобочек)</a>
</li><li><a href="class-diagram.html#8dfb3b05fc895d2b">Изменение цвета и стиля связей или стрелок (встраиваемый синтаксис)</a>
</li><li><a href="class-diagram.html#fab0ecfcfd0af288">Изменение цвета и стиля класса (встраиваемый синтаксис)</a>
</li><li><a href="class-diagram.html#4829cb0f596c9350">Связи от/на члены класса</a>
</li><li><a href="class-diagram.html#49b7759afaffc066">Группировка стрелок, ведущих к одному элементу</a>
</li><li><a href="class-diagram.html#a3e433077b7a6be8">Display JSON Data on Class or Object diagram</a>
</li><li><a href="class-diagram.html#dbeeec19b401ede6">Packages and Namespaces Enhancement</a>
</li></ul>
</div>
</td>
</tr>
</tbody></table>


</p><p>

<!-- Ezoic - Natif02L - bottom_of_page -->
</p><span id="ezoic-pub-ad-placeholder-104"></span><!-- ezoic_pub_ad_placeholder-104-bottom_of_page-234x60-104-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-104-bottom_of_page-468x60-104-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-104-bottom_of_page-728x90-104-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-104-bottom_of_page-970x250-104-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-104-bottom_of_page-300x250x3-104-nonexxxnonexxxxxxezmaxscaleval100 --><!-- ezoic_pub_ad_placeholder-104-bottom_of_page-970x90-104-nonexxxnonexxxxxxezmaxscaleval100 -->
<!-- End Ezoic - Natif02L - bottom_of_page -->
</div>
<!-- https://css-tricks.com/almanac/properties/f/float/ -->
<!-- https://css-tricks.com/snippets/css/a-guide-to-flexbox/ -->


<style>
.btm {
text-align:center;
}
.btm a{
    text-decoration:none;
    color:#b0c0d0;
}
.btm a:hover{
    color:#8CB4FF;
}
</style>

<div class="btm">
<hr/>
<a href="https://g.ezoic.net/privacy/plantuml.com"><small>Privacy Policy</small></a>
    
<a href="../direct-sales.html"><small>Advertise</small></a>
<p>
</p></div><!--btm-->


<!--root-->

<!-- Start of StatCounter Code --><script type="text/javascript">
var sc_project=11129479; var sc_invisible=1; var sc_security="66ff16f1";
</script>
<script async="" type="text/javascript" src="https://www.statcounter.com/counter/counter.js"></script> <!-- End of StatCounter Code -->


<!--[selectrongo:done]--><script type="text/javascript">
				var __inScopeForCCPA = false;
		function __uspapi(command, version, callback) {
			var response = null;
			var successs = false;
			if (command === "getUSPData" && version === 1) {
				var uspString = "1"; // Version
				if (__inScopeForCCPA) {
					uspString += "N"; // Has Explicit Notice for Opt Out been provided (ex footer or minor consent modal)
					var result;
					var consentCookie = (result = new RegExp('(?:^|; )ezoccpaconsent=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
					if (consentCookie === "nonconsent") {
						uspString += "Y";
					}
					else {
						uspString += "N";
					}
					uspString += "N" // Is pub a signatory to the IAB Limited Service Provider Agreement (http://www.iabprivacy.com/)
				}
				else {
					uspString += "---";
				}
				response = {
					uspString: uspString,
					version: 1
				};
				success = true;
			}
			return callback(response, success);
		};
		function __receiveUspapiMessage(event) {
			if (event.data.hasOwnProperty('__uspapiCall')) {
				__uspapi('getUSPData', 1, function(uspData, success) {
					event.source.postMessage({
						__uspapiReturn: {
							returnValue: uspData,
							success: success,
							callId: event.data.__uspapiCall.callId
						}
					},
					event.origin);
				});
			}
			return null;
		};
		window.addEventListener("message", __receiveUspapiMessage, false);
</script>
<script>__ez.queue.addFile('/tardisrocinante/vitals.js', '/tardisrocinante/vitals.js?gcb=2&cb=3', false, ['/parsonsmaize/mulvane.js'], true, false, true, false);</script>
<script>var _audins_dom="plantuml_com",_audins_did=173770;__ez.queue.addDelayFunc("audins.js","__ez.script.add", "//go.ezodn.com/detroitchicago/audins.js?cb=195-2");</script><noscript><div style="display:none;"><img src="https://pixel.quantserve.com/pixel/p-31iz6hfFutd16.gif?labels=Domain.plantuml_com,DomainId.173770" border="0" height="1" width="1" alt="Quantcast"/></div></noscript>
<script>__ez.queue.addFile('/beardeddragon/drake.js', '/beardeddragon/drake.js?gcb=2&cb=4', false, [], true, false, true, false);</script>
<script type="text/javascript" style='display:none;'>var __ez_dims = (function() {
		var setCookie = function( name, content, expiry ) {
			return document.cookie = name+'='+content+((expiry)?';expires='+(new Date(Math.floor(new Date().getTime()+expiry*1000)).toUTCString()):'')+';path=/';
		};
		var ffid = 1;
		var oh = window.screen.height;
		var ow = window.screen.width;
		var h = ffid === 1 ? oh : (oh > ow) ? oh : ow;
		var w = ffid === 1 ? ow : (oh > ow) ? ow : oh;
		var uh = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight;
		var uw = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
		setCookie('ezds', encodeURIComponent('ffid='+ffid+',w='+w+',h='+h), (31536e3*7));
		setCookie('ezohw', encodeURIComponent('w='+uw+',h='+uh), (31536e3*7));
	})();</script>
<script type='text/javascript' style='display:none;' async>__ez.queue.addFile('/parsonsmaize/chanute.js', '/parsonsmaize/chanute.js?a=a&cb=7&dcb=195-2&shcb=34', true, ['/parsonsmaize/mulvane.js'], true, false, false, false);</script>
<script type='text/javascript' style='display:none;' async>__ez.queue.addFile('/porpoiseant/jellyfish.js', '/porpoiseant/jellyfish.js?a=a&cb=10&dcb=195-2&shcb=34', false, [], true, false, false, false);</script></body></html>